diff --git a/.github/workflows/deploy-awen-domain-proxy.yml b/.github/workflows/deploy-awen-domain-proxy.yml index df58162d..d37442cf 100644 --- a/.github/workflows/deploy-awen-domain-proxy.yml +++ b/.github/workflows/deploy-awen-domain-proxy.yml @@ -133,18 +133,6 @@ jobs: cat /tmp/awen-domain-proxy.conf echo "" - # 检查主配置是否已有 connection_upgrade map - # 如果有则移除本配置中的 map 块避免冲突 - HAS_MAP=$(ssh -i ~/.ssh/zy_key \ - ${{ secrets.ZY_SERVER_USER }}@${{ secrets.ZY_SERVER_HOST }} \ - "grep -l 'map.*http_upgrade.*connection_upgrade' /etc/nginx/nginx.conf /etc/nginx/conf.d/*.conf /etc/nginx/sites-available/*.conf 2>/dev/null | head -1" || true) - - if [ -n "$HAS_MAP" ]; then - echo "ℹ️ 主配置已包含 connection_upgrade map,移除本配置中的重复定义" - sed -i '/^# ─── WebSocket 升级映射/,/^}$/d' /tmp/awen-domain-proxy.conf - sed -i '/^map \$http_upgrade/,/^}$/d' /tmp/awen-domain-proxy.conf - fi - # 备份现有配置(如果存在) ssh -i ~/.ssh/zy_key \ ${{ secrets.ZY_SERVER_USER }}@${{ secrets.ZY_SERVER_HOST }} \ diff --git a/server/nginx/awen-domain-proxy.conf b/server/nginx/awen-domain-proxy.conf index 05b08f2c..a0a7a48e 100644 --- a/server/nginx/awen-domain-proxy.conf +++ b/server/nginx/awen-domain-proxy.conf @@ -52,8 +52,10 @@ server { proxy_set_header X-Forwarded-Host $host; # ─── WebSocket 支持 ─── + # 使用硬编码 "upgrade" 而非 map 变量,与 zhuyuan-sovereign.conf 保持一致 + # 后端会忽略非 WebSocket 请求的 Connection: upgrade 头 proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; + proxy_set_header Connection "upgrade"; # ─── 超时设置 (跨境延迟考虑 · 新加坡↔广州) ─── proxy_connect_timeout 15s; @@ -100,11 +102,3 @@ server { error_log /opt/zhuyuan/data/logs/nginx-awen-proxy-error.log; } -# ─── WebSocket 升级映射 ─── -# 注意: 此 map 块必须位于 http {} 上下文 (不在 server {} 内) -# 如果 nginx.conf 或其他配置文件已定义 $connection_upgrade, -# 部署 workflow 会自动检测并移除本段避免冲突 -map $http_upgrade $connection_upgrade { - default upgrade; - '' close; -}