我在 StackOverflow 上问了这个问题,然后被引导到 ServerFault。我搜索了这里的论坛,发现大约有 3 个查询非常相似但不完全相同(或者也许我只是不理解它们)。
我有两台物理服务器(两台 Mac Mini 都安装了 Ubuntu LAMP),我想通过一个 IP(一个路由器)访问它们。每台服务器都将通过一个唯一的域进行访问,该域托管在其他地方,但其记录指向我的 IP。(例如 site1.com 和 site2.com 都指向同一个 IP,并且该 IP 的路由器后面是两台 Ubuntu 服务器)
我已经托管其中一个很长时间了,没有任何问题,现在正试图添加另一个。我希望我可以走这条简单(和偷懒)的路线:
命名每个 Apache 服务器(以及将转发到该服务器的域名)允许通过路由器 (Planex MKZ-04G) 上的“本地服务器”设置访问其中一个服务器,将另一个服务器指定为 DMZ 主机
但这意味着它们都使用端口 80....并且它将不起作用...或者会起作用吗?
所以,我的下一个想法是,我可以在一台机器上让 Apache 既为网站提供服务又充当反向代理吗……?
这一切有意义吗……?
任何帮助都将不胜感激。
问候
杰森
答案1
使用一个公共 IP,您将无法使用两个物理上独立的服务器在端口 80 上托管两个网站。您必须在 80 上运行一个,在 8080 上运行另一个,这很麻烦。
您也可以在一台物理服务器上设置代理。缺点是您将面临单点故障(运行代理的服务器),这会增加复杂性。您可能还需要设置内部 DNS 服务器,或者至少处理服务器上的主机文件。
如果您使用 Apache,请检查 mod_proxy。
我知道你担心负载。你可能要考虑使用一台服务器作为 Web 服务器,另一台服务器作为数据库服务器。