cbb
58197fd35b
fix: v1.5.5 — 「打开 Gitea」远程地址推断三重保险
根因:gitea_ui() 有个判断 bug——当请求 Host 是 127.0.0.1:8899
(CGI 内部连接面板的本地地址)时,面板把它当作"远程主机名"
去替换 gitea_host 中的 127.0.0.1,结果还是 127.0.0.1:3000。
修复:
1. 修判断 bug:只有推断出的真实主机名不是 loopback 时才替换
gitea_host 中的 127.0.0.1(本地直连保持原样,不再被错误"替换")
2. gitea_ui 新增 Referer 兜底:即使 CGI 没转发 Host/X-Forwarded-Host
(fnOS CGI 环境里 $HTTP_HOST 可能为空),也能从浏览器自带的
Referer 头里推断出真实主机名
3. CGI 代理兜底转发:从 X-Forwarded-Host / HTTP_HOST / Referer
多源提取真实主机,作为 Host 和 X-Forwarded-Host 转发
4. 调用方传入 X-Forwarded-Host / Host / Referer 三个头
实测 6 种场景(远程 CGI / 远程直连 / 只有 Referer / 本地直连 /
全部为空 / 远程 IP)全部生成正确地址
manifest 1.5.4 → 1.5.5
2026-10-15 01:23:57 +08:00
..
2026-10-15 01:23:57 +08:00
2026-10-15 01:23:57 +08:00