![当它通过端口转发和反向代理在外部工作时,如何解析内网的 URL?](https://linux22.com/image/1577632/%E5%BD%93%E5%AE%83%E9%80%9A%E8%BF%87%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%E5%92%8C%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E5%9C%A8%E5%A4%96%E9%83%A8%E5%B7%A5%E4%BD%9C%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E8%A7%A3%E6%9E%90%E5%86%85%E7%BD%91%E7%9A%84%20URL%EF%BC%9F.png)
这是我的网络配置:
我的家庭网络中有三个 VLAN。VLAN1 是默认 LAN,没有域名,只有工作组名称。VLAN2 是域名为 A 的 LAN。VLAN3 是域名为 B 的 LAN。我的用户在 VLAN1 或 VLAN2 上。我有多个 Web 服务在所有 3 个 VLAN 上运行。其中大多数在 VLAN2 和 VLAN3 上。为了在外部正确解析 URL(例如 A.com、A.com/Test1、A.com/Test2 或 B.com),我结合使用了反向代理(Nginx)和端口转发(通过路由器)。
问题是我也想在内部使用相同的 URL;但是,我不知道如何配置我的家庭网络以正确解析它们。VLAN1 上的用户使用路由器作为 DNS,并将 URL 解析为路由器的外部 IP 地址,这是错误的。端口转发不适用于内部网。VLAN2 上的用户使用 Active Directory 服务器作为 DNS,并且仅将 A.com URL 解析到其自身。A.com 下的其他 URL 无法正确引用,因为当从路由器进行端口转发时,它由 Nginx 服务器在外部处理。