如何在具有多个公共 IP 的一台机器上托管多个网站

如何在具有多个公共 IP 的一台机器上托管多个网站

我有一台具有多个公共 IP 的 centOS 机器。我们已经在运行一个 Web 应用程序。

我现在需要使用该机器可用的公共 IP 地址之一在该机器上托管另一个 Web 应用程序。

简而言之,该机器的 IP 地址是 xxx226、xxx227、xxx228、xxx229 和 xxx230。我想将其中一个地址用于第二个 Web 应用程序。

有人能帮助我解决这个问题吗?

答案1

HTTP/1.1 协议的一部分是将主机名作为请求的一部分发送——然后 Web 服务器可以根据该信息选择以不同的方式处理请求,以便在单个 IP 地址上托管许多网站。

答案2

正如 r.shaw 提到的,您确实可以根据每个请求标头中的域名为许多不同的网站提供服务。以下是 apache 对基于名称和基于 IP 的虚拟托管的一个很好的解释和对比:

http://httpd.apache.org/docs/2.0/vhosts/name-based.html

请注意,如果您计划为每个网站使用 SSL,那么您可能确实需要设置不同的基于 IP 的虚拟主机。在这种情况下,您需要在网络适配器上设置一个别名来处理新的附加公共 IP 地址之一。请参阅 centos 文档中的 13.2.4. 别名和克隆文件:

http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-networkscripts-interfaces.html

然后,您需要设置 Apache(或您正在使用的任何 Web 服务器)以监听新公共 IP 地址上的请求。查看 Web 服务器的文档以了解如何执行此操作。对于 Apache,请阅读:

http://httpd.apache.org/docs/2.0/vhosts/ip-based.html

希望有所帮助。

相关内容