我有一个 Apache HTTP 服务器,它在 LAN 环境中为一些基于命名的虚拟主机提供服务。
例如:
www1.local.mylan.com
www2.local.mylan.com
www3.local.mylan.com
这local.mylan.com
不是公共域,而是由本地命名服务管理的私有域。我可以在本地局域网中用 PC 的浏览器访问这些 URL。
我希望在我的互联网路由器/网关上设置端口转发以允许远程用户访问这些网站,可以这样做吗?
这样就足够了:
mylan.<dynamic-dns>.com:8001 -> www1
mylan.<dynamic-dns>.com:8002 -> www2
mylan.<dynamic-dns>.com:8003 -> www3
答案1
您可以查看有关设置端口转发的问题和答案:
您可以将这些传入端口(8001、8002、8003)转发到您的 Web 服务器。
在您的服务器配置中Listen
为每个端口添加行:
Listen 8001
Listen 8002
Listen 8003
添加<VirtualHost>
配置,使用新端口和与原始站点相同的所有设置。例如:
<VirtualHost *:8001>
ServerName mylan.<dynamic-dns>.com
[settings from www1]
...
</VirtualHost>
答案2
大多数动态 DNS 提供商允许您配置子域,这意味着您应该能够使用:
www1.mylan.<dynamic-dns>.com
www2.mylan.<dynamic-dns>.com
www3.mylan.<dynamic-dns>.com
有些甚至允许通配符,因此您可以将其配置为使得任何子域都mylan.<dynamic-dns>.com
可以进入您的家庭网络。
正确配置动态 DNS 服务后,只需在路由器配置中转发端口 80,并将ServerName
动态 DNS 主机名的指令添加到现有 Apache<VirtualHost>
部分即可。如果您使用了通配符设置,请确保正确配置默认虚拟主机,这样您就不会在公共互联网上无意中提供您不想要的东西。
请注意,一些住宅互联网服务提供商会阻止端口 80 进入其客户,因此您可能必须使用备用端口。