使用一个外部IP在NAT后托pipe多个物理服务器的首选解决scheme是什么? 我知道Apache可以反向代理HTTP,但如果我想要做FTP一样的? 鱿鱼似乎被提到了很多,但我有点困惑,如果它将与我的设置:一些运行Ubuntu与Virtualmin的物理盒子,他们都在NAT后面。 每个物理盒都运行通常的LAMP堆栈,并承载一些带有FQDN的虚拟服务器。 我需要能够通过此解决scheme访问HTTP,但也至less可以通过FTP和可能的SSH。
对于Web服务器,我可以推荐Varnish作为前端节点,这是您的Apache的反向代理。 然后,您可以区分FQDN(并使用caching加速您的Web服务器)
至于FTP,这是一个不同的野兽,你坚持使用不同的端口。 另外,你必须确定你的服务器在NAT之后,也使用PASV转发的端口。
Frontend <-> NAT <-> FTP1 (port 21, + PASV: 20000-21000) Frontend <-> NAT <-> FTP2 (port 10021, + PASV: 21000-22000)
你唯一的select只有一个IP /端口接口的FTP,是将其托pipe在前端节点(使用外部IP),并挂载(nfs / samba)你需要在FTP上可用的其他文件夹。
对于SSH,我只需要一个SSH服务器活跃于外部世界。 您连接到该服务器,现在您在NATnetworking中,您可以通过本地IP或名称从其中访问其他服务器,以进行pipe理。
虽然,不能帮助你的网站。 我知道如何在IIS中做到这一点,但是我对Apache不太好。 您可以在指定所监听域名的机器之一的Apache conf文件中设置VirtualHost条目,然后转发到适当的内部服务器,但是我对Apache并不熟悉。