【问题标题】:Port-forwarding and website hosting: Two domains, same ip, different computer端口转发和网站托管:两个域,相同的 ip,不同的计算机
【发布时间】:2015-09-14 16:16:13
【问题描述】:
【问题讨论】:
标签:
http
networking
web
dns
ip
【解决方案1】:
不,仅使用第 3 层/第 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.com 和http://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 地址。