在单个IP上托管多个网站的传统方式是使用共享主机,并对每个站点使用Apache virtualhost配置。因此,基于虚拟主机查找,不同的域名映射到了不同的站点,但是它们都使用了相同的IP。但是我想知道:
可以在专用LAN上拥有多个Web服务器,这些服务器都可以通过单个面向公共的路由器/ DNS /使用单个公共IP的任何设备在端口80上进行访问。
理想情况下,将通过子域(例如server1.my-site.com和server2.my-site.com)访问不同的服务器。如果允许您的Web服务器通过端口转发在不同端口上提供网站服务,则这很容易做到,但是我需要外界不必知道要连接哪个端口,而只能输入server1.my-domain。 com而不是server1.my-domain.com:1234进入他们的浏览器
由于IPv4地址的稀缺性,而IPv6尚未“就绪”,因此这只是一个问题。
是的。您必须将路由器设置为反向代理,然后根据Host
标头或请求URL将HTTP请求转发到专用网络中的主机之一。当涉及反向代理时,Nginx是一个流行的选择。
如果要代理HTTP,SMTP或IMAP服务器以外的服务,则需要改用iptables,例如
iptables -t nat -A PREROUTING -d $DOMAIN_NAME -j DNAT --to-destination $SERVER2_IP
iptables -t nat -A POSTROUTING -j MASQUERADE
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句