无法从本地网络访问 Apache 虚拟主机

无法从本地网络访问 Apache 虚拟主机

我已经使用 Apache2 设置了虚拟主机,其配置如下:

<VirtualHost *:8080>
    ServerName example.com
    DocumentRoot /var/www/example.com
</VirtualHost>

可以从外部访问该网站。

example.com

但是如果我example.com从本地网络中的另一个系统进入,它会打开我的路由器配置页面。

我将路由器的端口 80 转发到网络中的服务器端口 8080。

但我想从本地网络中的其他系统访问该网站。这可能吗?

答案1

如果您尝试使用外部地址从内部访问 Web 服务器,您的路由器也必须转换您的源地址。这称为 NAT 反射。

如果没有,网络服务器会将返回流量直接发送到您的计算机,并且无法建立 TCP 连接,因为您的计算机与网络服务器的外部地址通信并从内部地址获取返回流量。

如果路由器转换了您的源地址,网络服务器就会将返回流量发送到路由器,然后从路由器中继到您的计算机。

另一种解决方案是使用内部和外部不同的 DNS 地址(拆分 DNS),正如 Brandon Xavier 在评论中所建议的那样。这不需要 NAT 反射。

相关内容