一个 IP 上的多个 Apache 服务器,使用端口 80?

Abe*_*llo 1 port-forwarding apache-2.2

我想收集人们对以下情况的看法:

两个 Apache 服务器,A1 和 A2。

两台服务器都在一台只能将端口 80 转发到一个 IP 的路由器之后,那么如何管理在一个 IP 上托管不同域的两台服务器呢?

我研究了 mod_proxy ,但收效甚微,想知道是否可以安装任何“DNS 端口转发”功能来管理数据包。

例如 IP 地址是 87.166.55.44(假的不要尝试:p)。

A1 托管 foo.com A2 托管 bar.com

80端口转发到A1。A1 意识到这是对 bar.com 的请求,因此充当 A2 和路由器之间的代理。

我希望这是有道理的,任何帮助将不胜感激!

小智 6

从技术上讲,除非您的路由器具有内置的反向代理或一些我不知道的第 7 层路由,否则这是不可能的。如果您真的想这样做并希望使其可扩展,那么您将需要一个反向代理,其中包含站点名称的映射以及将其代理到的位置。

<VirtualHost *:80>
  ServerName www.domain-a1.com
  ProxyRequests Off
  ProxyPass http://servera1/
  ProxyPassReverse http://servera1/
</VirtualHost>

<VirtualHost *:80>
  ServerName www.domain-a2.com
  ProxyRequests Off
  ProxyPass http://servera2/
  ProxyPassReverse http://servera2/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这不适用于 SSL 站点,因为 SSL 协商是在知道它用于哪个站点之前发生的,然后切换 SSL 证书以传递给它们(鸡和蛋)等。