Apache 虚拟主机和反向代理

5 reverse-proxy virtualhost apache-2.2

我有许多虚拟主机,它们的域名映射到单个 Apache 服务器(我们称之为 server1)。在某些情况下,某个虚拟主机的所有 URL 应该由不同的服务器提供服务(我们称之为 server2)。

实现这一目标的最简单方法是什么?我可以简单地将 server2 设置为使用与 server1 相同的基于名称的虚拟主机设置,然后依赖 server1 的 X-Forwarded-Host 标头(即 server2 会根据这些标头做正确的事情)吗?“基于同名的虚拟主机设置”是指“真实”域名(即映射到 server1 的 IP 的域名)。

Raz*_*que 4

您确实可以使用 mod_proxy 模块。它与虚拟主机一起运行良好。基本上,主服务器将接收所有请求,当调用某个 url/域时,mod_proxy 会将该域重定向到另一台服务器(服务器 2),它在服务器 1 上看起来像这样

<VirtualHost *>
ServerName server1.com
Hosted on the server
</VirtualHost *>

<VirtualHost *>
ServerName server2.com
// mod_proxy directives in order to redirect this domain name to the other server //
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

还有一个很好的教程: http ://www.apachetutor.org/admin/reverseproxies