Files
zkxw/测试环境部署/zkxw-test-10001.conf
T
zlwuandCursor 8020e667f1 fix: 多张大图并行上传时不再拆掉进行中的请求,并放宽附件上传超时。
审批附件在第一张成功后会重建上传组件,其余请求被取消并显示超时。现保留进行中的文件,附件请求与 Nginx 上传超时放宽到 5 分钟,存储写入不再堵住事件循环。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-29 10:42:07 +08:00

233 lines
7.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ZKXW 测试环境(裸机)— 部署到 101.35.245.122
# 支持:
# - https://www.chengyantek.cn (443,SSL)
# - http://www.chengyantek.cn / http://chengyantek.cn → 301 到 https://www
# - http://IP:10001 (兼容旧入口,无强制跳转)
#
# 证书部署路径(服务器):
# /root/zkxw/cert/www.chengyantek.cn.pem
# /root/zkxw/cert/www.chengyantek.cn.key
#
# 用法(Ubuntu/Debian):
# cp 到 /etc/nginx/sites-available/zkxw-test-10001.conf
# ln -sfn ... /etc/nginx/sites-enabled/
# nginx -t && systemctl reload nginx
# ---------- HTTP → HTTPS(域名)----------
server {
listen 80;
listen [::]:80;
server_name www.chengyantek.cn chengyantek.cn;
return 301 https://www.chengyantek.cn$request_uri;
}
# ---------- apex HTTPS → www ----------
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name chengyantek.cn;
ssl_certificate /root/zkxw/cert/www.chengyantek.cn.pem;
ssl_certificate_key /root/zkxw/cert/www.chengyantek.cn.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1h;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
return 301 https://www.chengyantek.cn$request_uri;
}
# ---------- 主站 HTTPS ----------
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.chengyantek.cn;
ssl_certificate /root/zkxw/cert/www.chengyantek.cn.pem;
ssl_certificate_key /root/zkxw/cert/www.chengyantek.cn.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1h;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
root /root/zkxw/web-admin/dist;
index index.html;
client_max_body_size 100M;
access_log /var/log/nginx/zkxw_admin_https_access.log;
error_log /var/log/nginx/zkxw_admin_https_error.log;
location = /health {
proxy_pass http://127.0.0.1:10002/health;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_connect_timeout 10s;
proxy_read_timeout 30s;
}
location ^~ /docs {
proxy_pass http://127.0.0.1:10002;
proxy_http_version 1.1;
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;
}
location = /openapi.json {
proxy_pass http://127.0.0.1:10002/openapi.json;
proxy_http_version 1.1;
proxy_set_header Host $host;
}
# 附件上传:大文件要等正文传完再落存储,不能跟普通接口共用 120s
location ^~ /api/web/admin/attachment/upload {
proxy_pass http://127.0.0.1:10002;
proxy_http_version 1.1;
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_request_buffering off;
proxy_connect_timeout 30s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
}
location ^~ /api/ {
proxy_pass http://127.0.0.1:10002;
proxy_http_version 1.1;
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_connect_timeout 10s;
proxy_send_timeout 120s;
proxy_read_timeout 120s;
}
# MinIO 同域反代(避免 HTTPS 页面对 http://47.99.164.66:20004 混合内容)
location ^~ /minio/zkxw/ {
proxy_pass http://47.99.164.66:20004/zkxw/;
proxy_http_version 1.1;
proxy_set_header Host $http_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_request_buffering off;
proxy_buffering off;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
proxy_connect_timeout 10s;
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS" always;
}
# mobile-oa-h5(Vite base=/oa-h5/;静态目录 /root/zkxw/static/oa-h5)
# mobile-h5 配置 OA_H5_ORIGIN=https://www.chengyantek.cn/oa-h5
location = /oa-h5 {
return 301 /oa-h5/$is_args$args;
}
location ^~ /oa-h5/ {
root /root/zkxw/static;
try_files $uri $uri/ /oa-h5/index.html;
}
location / {
try_files $uri $uri/ /index.html;
}
}
# ---------- 兼容旧入口:IP:10001(HTTP)----------
server {
listen 10001;
listen [::]:10001;
server_name 101.35.245.122 localhost 127.0.0.1;
root /root/zkxw/web-admin/dist;
index index.html;
client_max_body_size 100M;
access_log /var/log/nginx/zkxw_admin_10001_access.log;
error_log /var/log/nginx/zkxw_admin_10001_error.log;
location = /health {
proxy_pass http://127.0.0.1:10002/health;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_connect_timeout 10s;
proxy_read_timeout 30s;
}
location ^~ /docs {
proxy_pass http://127.0.0.1:10002;
proxy_http_version 1.1;
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;
}
location = /openapi.json {
proxy_pass http://127.0.0.1:10002/openapi.json;
proxy_http_version 1.1;
proxy_set_header Host $host;
}
# 附件上传:大文件要等正文传完再落存储,不能跟普通接口共用 120s
location ^~ /api/web/admin/attachment/upload {
proxy_pass http://127.0.0.1:10002;
proxy_http_version 1.1;
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_request_buffering off;
proxy_connect_timeout 30s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
}
location ^~ /api/ {
proxy_pass http://127.0.0.1:10002;
proxy_http_version 1.1;
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_connect_timeout 10s;
proxy_send_timeout 120s;
proxy_read_timeout 120s;
}
location ^~ /minio/zkxw/ {
proxy_pass http://47.99.164.66:20004/zkxw/;
proxy_http_version 1.1;
proxy_set_header Host $http_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_request_buffering off;
proxy_buffering off;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
proxy_connect_timeout 10s;
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS" always;
}
location = /oa-h5 {
return 301 /oa-h5/$is_args$args;
}
location ^~ /oa-h5/ {
root /root/zkxw/static;
try_files $uri $uri/ /oa-h5/index.html;
}
location / {
try_files $uri $uri/ /index.html;
}
}