我有一个公共IP地址,一个路由器和路由器后面的多个服务器。
我想通过路由器将不同的域(全部使用HTTP)转发到不同的服务器。
例如:
example1.com => 192.168.0.110 example2.com => 192.168.0.120 foo.example2.com => 192.168.0.130 bar.example2.com => 192.168.0.140
我知道这可以使用端口转发来完成,但是我需要在端口80上运行的所有主机。
我发现了一些关于IP Masquerading的信息,但是我发现这很难理解,而且我不确定这是否是我之后的事情。
我find的另一个解决scheme是将所有stream量引导到反向代理服务器,反向代理服务器将请求转发到适当的服务器上。 那么iptables呢?
我正在使用一个Billion 7404 VNPX路由器。 有这个路由器可以做到这一点的function吗?
这些是我唯一的select吗? 我完全错过了什么吗? 其他人推荐吗?
我已经四处搜寻,但我不认为我正在打正确的关键字。
最好的解决scheme是使用HTTP反向代理。 为此,您可以使用:
我们正在使用mod_proxy的Apache,但我想用英镑去。
作为硬件设备,您可以使用思科内容服务交换机。 请参阅: http : //www.cisco.com/en/US/products/hw/contnetw/ps792/index.html
我有一个想法,我想知道是否有人对此有一些反馈。
如果我使用反向代理的想法,我想我可以很简单地解决这个问题。 我已经在其他服务器上使用Nginx了,所以这是我select反向代理的服务器。
在路由器上,我将把端口80上的所有传入连接转发到我的反向代理服务器。 我将使用以下configuration文件在此服务器上运行Nginx:
server { listen *:80; location / { proxy_pass http://$host; } }
这似乎是代理请求到相同的主机。 但是这里的诀窍在我的/ etc / hosts文件中,我将把所有的域映射到它们的内部IP。
182.168.0.110 example1.com 182.168.0.120 example2.com 182.168.0.130 foo.example2.com 182.168.0.140 bar.example2.com
因此,反向代理服务器会将请求的主机路由到同一台主机,但此时应查找本地主机文件,并将其映射到内部IP地址。 这也意味着我可以“设置和忘记”Nginxconfiguration文件。
潜在的问题是,如果本地主机名尚未configuration,则反向代理将把请求发送回互联网。 不过,我认为NAT会阻止它陷入无限循环。
这个解决scheme似乎在我的脑海里,在纸上,但我不能够设置一段时间。
任何人都可以看到为什么这不起作用的原因吗?
谢谢。