端口转发对 Apache 虚拟主机有用吗?

端口转发对 Apache 虚拟主机有用吗?

我有一个 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 进入其客户,因此您可能必须使用备用端口。

相关内容