通过域访问本地网络中的服务器

Access server in local network through domain

我无法通过域访问服务器。

测试 url:testpage.example.com。

服务器在本地网络中,端口转发 (80, 443),配置为 Web 服务器,使用 caddy 服务器作为反向代理。

案例一(使用华硕路由器): 连接在路由器后面的本地网络上。服务器与我的计算机位于同一网络中。在我的网络内外,一切都像魅力一样。

案例 2(使用互联网供应商路由器): 连接在路由器后面的本地网络上。无法使用域访问服务器。使用直接 IP。外部网络,与情况 1 相同。

我用的是同一个服务器。

有谁知道为什么会出现这个问题?我该如何解决?

谢谢, 大卫

当您尝试访问的服务器 "testpage.example.com" 解析为您路由器的外部 IP 地址时,就会发生这种情况。因为您的 public IP 地址与服务器的 IP 地址相同(即使在您的家庭网络中您有不同的私有 IP 地址),您的请求也会丢失。

作为解决方法,您可以在本地计算机上手动解决 testpage.example.com。 对于 Windows c:\windows\system32\etc\hosts 对于 Linux /etc/hosts testpage.example.com 192.168.1.102 -> 为站点提供服务的机器的私有 IP。

我能想到的两个方案:

  1. 您可以向案例 2 中使用的任何 DNS 服务器添加记录。
  2. 您可以编写一个简短的脚本,在您更改网络连接时运行,以相应地修改您的 hosts 文件。