From 0373e199a21b34d04a4e72fcd5670be75e2c5dd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=96=BB=E5=8B=87=E7=A5=A5?= <237899745@qq.com> Date: Tue, 11 Nov 2025 16:31:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=88=86=E4=BA=AB=E9=93=BE=E6=8E=A5404=E9=94=99=E8=AF=AF=20-?= =?UTF-8?q?=20install.sh=E4=B8=AD=E7=9A=84nginx=E9=85=8D=E7=BD=AE=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 问题 分享链接访问时报404错误,例如 /s/OjTHZiPg 无法访问 ## 原因分析 install.sh中nginx配置有误: 问题: 1. location /s 会匹配 /s 和 /s/xxx 2. 访问 /s/OjTHZiPg 时,nginx会查找文件 frontend/OjTHZiPg/share.html 3. 实际应该代理到后端 /s/:code 路由,让后端重定向到 /share.html?code=xxx ## 修复内容 将 location /s 改为代理到后端: 修复范围: - HTTP配置(第1196-1200行) - HTTPS配置(第1269-1273行) ## 部署说明 已部署用户需要: 1. 拉取最新代码 2. 重新运行安装脚本,或手动更新nginx配置 3. 重载nginx: systemctl reload nginx 影响:分享功能将恢复正常 --- install.sh | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/install.sh b/install.sh index b233add..9a0fc1c 100644 --- a/install.sh +++ b/install.sh @@ -1193,10 +1193,13 @@ server { proxy_connect_timeout 300s; } - # 分享页面 - location /s { - alias ${PROJECT_DIR}/frontend; - try_files /share.html =404; + # 分享页面(代理到后端处理重定向) + location /s/ { + proxy_pass http://localhost:${BACKEND_PORT}; + 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; } # 静态资源 @@ -1266,10 +1269,13 @@ server { proxy_connect_timeout 300s; } - # 分享页面 - location /s { - alias ${PROJECT_DIR}/frontend; - try_files /share.html =404; + # 分享页面(代理到后端处理重定向) + location /s/ { + proxy_pass http://localhost:${BACKEND_PORT}; + 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; } # 静态资源