如何从外部访问我的networking的任何机器的Web服务器

我有一个像username.dyndns.org的IP,这是我的路由器的外部IP。 在我的局域网中,我有几台机器(m1,m2,…),每台机器运行一个专用的web服务器。 是否有可能从外部到达每台机器: http : //m1.username.dyndns.org http://m2.username.dyndns.org ? 你知道什么需要configuration在我的路由器的NAT? 另外,Apache中是否有特殊的指示? 谢谢,Luc

这是你需要做的,以得到你想要的东西:

  1. 设置dyndns为您的域创build通配符(*) CNAME 。 我相信这需要他们的专业版。 这将导致dyndnsparsinganything.username.dyndns.org到您的路由器的公共IP。 由于我的康卡斯特IP很less变化,我不使用dyndns,而是通过域名注册商(godaddy)直接编辑DNS条目,这是免费的域名购买。

  2. 设置您的路由器转发所有端口80stream量到运行Apache的单个机器/虚拟机。 这是你所有的虚拟主机被定义的地方。 在每个虚拟主机部分中,为处理该子域的实际机器设置一个代理

是的,这是可能的。 只需在路由器的NAT表中添加一个规则集,使用端口80指向web服务器的IP地址即可。路由器上还有一个部分,您可以定义您的dyndnsredirect以每30分钟刷新一次IP。

Syuuske拥有networking权利。

要在一个IP地址上创build多个域名,您需要为其他机器设置一个代理。

如果你想使用apache,为你希望apache的每个域创build一个基于名字的虚拟主机,并使用mod_proxy将请求转发到正确的机器上。

http://httpd.apache.org/docs/2.1/vhosts/name-based.html

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

一些在美国的住宅托pipe公司(突然连接和时间华纳)阻止80端口的入站stream量,所以如果你不能在80上运行,尝试另一个端口。

祝你好运。