![可以使用端口 80 进行基于 URL 的 NAT 吗?](https://linux22.com/image/518302/%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E7%AB%AF%E5%8F%A3%2080%20%E8%BF%9B%E8%A1%8C%E5%9F%BA%E4%BA%8E%20URL%20%E7%9A%84%20NAT%20%E5%90%97%EF%BC%9F.png)
我只有 1 个 IP 地址,但我想在同一个 IP 上托管 2 个网站:www.example1.com 和 www.example2.com。
所以我想知道是否有路由器/防火墙功能可以让我做到这一点?
答案1
您有几个选择。您可以使用虚拟主机在同一服务器/IP 地址上托管两个域。或者您可以设置反向代理来处理将请求重定向到 DMZ 中正确的私有 IP 地址。反向代理的示例包括 Varnish、nginx、squid 甚至带有 mod_proxy 的 Apache。
答案2
你可以这样做基于命名的虚拟主机在 Web 服务器上或通过使用反向代理在路由器和您的网络服务器之间。
这两个方法都是通过解析http 标头的 HOST 字段并相应地定向请求。我从未见过防火墙或路由器这样做来重定向流量(当然这并不意味着有些防火墙或路由器不能这样做)。
您应该提到您拥有什么类型的路由器和防火墙以及您的 Web 服务的操作系统和程序。
答案3
您不需要路由器支持,Web 服务器就可以很好地完成此操作。对于 Apache,这称为虚拟主机。