mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-26 20:33:15 +00:00
生产部署后立刻暴露的真 bug:请求 Host 自带端口(实测 Host=127.0.0.1:8080), 而 url_portal 合成时无条件再追加监听端口,拼出 http://127.0.0.1:8080:8080/api/v1/device/ ← 链接点不开 单测抓不到的原因:此前测试用的 Host 不含端口。真实服务器上 Host 一定带端口 (除非经 nginx 剥掉),所以这个 bug 必然出现在生产。 修法:抽出 portalHostWithPort(host, hostPort) 统一合成 —— - host 已含端口 → 原样(尊重调用方看到的真实入口) - host 不含端口 → 追加监听端口 两处调用点(服务清单 url_portal、发现端点 url_portal/url/http_url)共用它。 新增 3 条判据,都刻意用**自带端口**的 Host: TestPortalHostPortExactlyOnce(7 组输入,含带/不带端口、空值、无冒号端口) TestProxyServiceURLsWithPortInHost TestDeviceGatewayDiscoveryNoDuplicatePort