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:
parent
b84a2d9199
commit
0bc321c573
|
|
@ -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 }} \
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue