fix: 修复 Awen 反向代理 Nginx $connection_upgrade 变量未定义问题

根因: 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>
This commit is contained in:
copilot-swe-agent[bot] 2026-04-12 08:28:20 +00:00 committed by GitHub
parent b84a2d9199
commit 0bc321c573
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 21 deletions

View File

@ -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 }} \

View File

@ -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;
}