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

时间:2021-02-10 12:16:07

标签: apache virtualhost local-network

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

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

可以从外部访问网站。

example.com

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

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

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

1 个答案:

答案 0 :(得分:0)

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

你只有两个选择:

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

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

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

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