本地主机上的 HTTP 无法与 DNS A 记录和端口转发一起使用(ERR_EMPTY_RESPONSE)

本地主机上的 HTTP 无法与 DNS A 记录和端口转发一起使用(ERR_EMPTY_RESPONSE)

我的本地机器上有一个 Jenkins 服务器,我通过我的 ISP 的 DNS A 记录(ci.alanif.se:8080)并通过两个路由器进行端口转发将其发布到外界。

这在外部以及我本地网络上的任何机器上都可以完美运行,除了我的本地机器,如果我使用完全相同的 URL,浏览器通常会显示:

Server did not send any data (ERR_EMPTY_RESPONSE)

这是为什么?我该如何解决?

这绝对不是浏览器问题(缓存、cookie 等),因为安装全新浏览器也会出现此行为。所以我怀疑是端口转发的问题。循环?

答案1

尝试从内部网络访问服务时,端口转发不起作用是很常见的。行为因设备而异。

同一网络上的机器(您的机器和您进行测试的本地网络中的其他机器)的行为不同,这有点奇怪:这可能是路由器上端口转发实现的一个特殊情况,仅当源 IP 与端口转发目的地相同时才会发生,但我只是猜测。

对于您的使用案例,最常见的解决方案是配置本地 DNS 服务器以将公共主机名(仅在内部)解析为内部 IP 地址。

这样做的好处是可以避免本地流量强制通过路由器。

相关内容