From 0bc321c57311f586332782b403a8395000f8fa97 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 12 Apr 2026 08:28:20 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20Awen=20=E5=8F=8D?= =?UTF-8?q?=E5=90=91=E4=BB=A3=E7=90=86=20Nginx=20$connection=5Fupgrade=20?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E6=9C=AA=E5=AE=9A=E4=B9=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因: workflow 的 map 块重复检测匹配到 sites-available/ 下的自身文件, 导致 map 块被错误移除, $connection_upgrade 变量未定义, nginx -t 失败 修复: 1. 移除模板中的 map 块, 改用硬编码 Connection "upgrade" (与主站配置一致) 2. 移除 workflow 中不再需要的 map 重复检测逻辑 Agent-Logs-Url: https://github.com/qinfendebingshuo/guanghulab/sessions/70d4f681-cadc-460c-ae2f-f55f121e7a42 Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com> --- .github/workflows/deploy-awen-domain-proxy.yml | 12 ------------ server/nginx/awen-domain-proxy.conf | 12 +++--------- 2 files changed, 3 insertions(+), 21 deletions(-) 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; -}