JianFeeeee
a96ad9ca97
fix(webui): 服务入口 URL 端口必须恰好出现一次(生产部署后暴露)
生产部署后立刻暴露的真 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
2026-09-26 13:49:59 +08:00
..
2026-09-26 13:49:59 +08:00
2026-09-14 17:40:54 +08:00
2026-09-26 13:49:59 +08:00
2026-09-14 11:08:27 +08:00
2026-09-19 11:57:50 +08:00
2026-09-14 07:03:47 +08:00
2026-08-26 09:17:07 +08:00
2026-09-14 07:03:47 +08:00
2026-09-14 07:03:47 +08:00
2026-09-14 07:03:47 +08:00
2026-09-12 13:57:06 +08:00
2026-09-14 07:03:47 +08:00
2026-09-14 07:03:47 +08:00
2026-08-24 16:22:28 +08:00
2026-09-14 07:03:47 +08:00
2026-09-17 18:56:15 +08:00
2026-09-14 20:07:29 +08:00
2026-09-18 11:26:12 +08:00
2026-09-26 13:49:59 +08:00
2026-09-14 07:00:07 +08:00
2026-07-17 21:41:03 +08:00
2026-07-17 21:41:03 +08:00
2026-09-26 13:49:59 +08:00
2026-09-26 13:49:59 +08:00
2026-09-26 13:49:59 +08:00