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

Apache Virtual Host not accessible from local network

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

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

可以从外部访问该网站。

example.com

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

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

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

您的路由器可能不支持“NAT 环回”,您可以通过路由器的 WAN IP 访问本地网络上的服务。大多数消费级路由器不支持 NAT 环回

你只有2个选项:

  1. 将您的路由器更改为支持“NAT 环回”的路由器。
    例如。 Which NETGEAR routers support NAT loopback

  2. 改为通过内部 IP 地址访问您的服务。您可以使用本地 HOSTS 文件覆盖 public DNS。

我通常“解决”这个问题并让 LAN 上的所有 machines/devices 都可以访问站点的方法是定义一个 local 子域 A 记录)在指向本地 IP 地址的 public DNS 中。因此,当在 LAN 上时,我改为通过子域 local.example.com 访问站点。

Security SE 的相关问题,其中更详细地介绍了网络流量的实际情况: