端口转发和网站托管:两个域,相同的IP,不同的计算机

时间:2015-06-27 23:42:22

标签: http networking web dns ip

所以我有两个域名: http://firstexample.com http://secondexample.com

在我的路由器上我目前有portforwarding,所以当有人去http://firstexample.com时,他们会看到我的计算机内部IP 192.168.0.15正在托管的网站

如何设置它,以便如果有人前往http://secondexample.com,他们会看到我的另一台计算机的网站,内部IP 192.168.0.16正在托管?

我的两台计算机都拥有相同的公共IP。

我的路由器上的设置是否会改变?或者godaddy允许我配置什么?

1 个答案:

答案 0 :(得分:1)

不能仅使用Layer3 / 4功能在同一IP /端口配置上侦听两个域。大多数Web服务器基于请求中的Host字段执行此操作。如果您可以在路由器上使用两个端口,那么可能就是这样。您可以执行类似以下端口转发的操作

<router_ip>:80 -> 192.168.0.15:80 
<router_ip>:8080 -> 192.168.0.16:80

但问题是,任何尝试访问http://secondexample.com的人都应该始终将其作为http://secondexample.com:8080访问,这非常不方便。

这是您可以做的另一种选择 -

192.168.0.15之类的nginx上运行一个网络服务器,并为每个http://firstexample.comhttp://secondexample.com创建一个后端。请参阅nginx文档以了解如何执行此操作。您不需要三台机器,因为firstexample.com可以在192.168.0.15上运行(除非在标准端口80上,但在8080端口上说),而secondexample.com将在另一台机器上运行。然后在路由器端口转发中仅添加以下条目

<router_ip>:80 -> 192.168.0.15:80 # assuming ngninx is listening on port 80.

我假设firstexample.com和secondexample.com都解析为您的路由器IP地址。