【问题标题】:Apache Virtual Host not accessible from local network无法从本地网络访问 Apache 虚拟主机
【发布时间】:2021-05-14 03:08:00
【问题描述】:

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

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

可以从外部访问网站。

example.com

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

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

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

【问题讨论】:

  • 您可能想尝试将此问题发布到服务器故障。

标签: apache virtualhost local-network


【解决方案1】:

您的路由器可能不支持“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 访问该站点。

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

【讨论】:

  • 非常感谢您的完美回答!我不知道“NAT 环回”。我只是按照你的建议做了:添加了一个 A 记录子域,现在 home.example.com 指向我的 Apache 服务器的本地 IP 地址(在我的例子中是 192.168.x.x)。它需要 5 分钟才能激活,现在我可以从本地网络中的 PC 访问 home.example.com。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2016-04-27
  • 2023-03-29
  • 1970-01-01
  • 2012-08-04
  • 2011-10-11
  • 1970-01-01
  • 2018-11-27
  • 2012-08-14
相关资源
最近更新 更多