Nginx普通部署(v6.6+)
# Nginx普通部署(v6.6+)
如果您的项目部署使用了Nginx,我们假设您Web项目的nginx配置如下:
server {
listen 443 ssl;
server_name oa.xxx.com;
ssl_certificate /etc/nginx/cert/oa_cert_chain.pem;
ssl_certificate_key /etc/nginx/cert/oa_key.key;
# 前端项目
location / {
root /usr/share/nginx/html/oa/;
index index.html;
try_files $uri $uri/ /index.html;
}
# 集成PageOffice的后端项目
location /api {
proxy_redirect off;
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://xxx-oa-docker:8080;
}
}
由于PageOffice V6.6及以上版本采用了websocket技术,所以还需要在Nginx配置中给Web项目添加对websocket的支持:
- 在 http 块用map指令定义 WebSocket 升级映射;
- 在您的Web项目配置中添加对 WebSocket 的支持;
修改后的nginx配置如下,红框以外的部分是您原有的配置无需修改,红框以内的代码,您完整拷贝即可。请注意:
- 第一个红框内的代码需添加在 http 配置块内、server 配置块之外;
- 第二个红框内的代码需放入您集成 PageOffice 的后端 Web 项目的对应配置中;
# 1. 定义 WebSocket 连接升级映射(必须在 http 块内、server 块之外添加此代码)
map $http_upgrade $pageoffice_connection_upgrade {
default upgrade;
'' close;
}
server {
listen 443 ssl;
server_name oa.xxx.com;
ssl_certificate /etc/nginx/cert/oa_cert_chain.pem;
ssl_certificate_key /etc/nginx/cert/oa_key.key;
# 前端项目
location / {
root /usr/share/nginx/html/oa/;
index index.html;
try_files $uri $uri/ /index.html;
}
# 集成PageOffice的后端项目
location /api {
proxy_redirect off;
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://xxx-oa-docker:8080;
# 2. 使用 map 定义的变量添加对 WebSocket 的支持(放入您集成 PageOffice 的后端 Web 项目的对应配置中)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $pageoffice_connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 3600s;
}
}
上次更新: 2026/04/17, 16:52:24