Apache2 将 URL 重定向到另一个内部服务器

Apache2 将 URL 重定向到另一个内部服务器

我们的家庭设置由两个 Linux 网络服务器组成,它们位于一个静态 IP 上。我的服务器目前使用标准 HTTP(S) 端口。我朋友的服务器使用非标准端口来解决这个问题。我们两个都设置了 URL。
我很好奇我是否可以在我的服务器上配置 Apache,以透明的方式将任何指向我朋友的 URL(在标准端口上)的连接重定向或代理到他的服务器。我知道我可以重写 URL,但我不熟悉规则,所以我想知道我是否可以使用 mod_proxy 通过我的服务器将连接发送到另一台机器。我做过类似的事情,但涉及代理所有传入连接。
这可能吗?谢谢,如果这个问题已经得到回答,我很抱歉;我不确定要搜索什么。

答案1

您还可以使用虚拟主机并将 Apache 设置为反向代理。这是我在工作的地方的设置。

a.domain.com -> ProxyPass http://192.168.1.101
b.domain.com -> ProxyPass http://192.168.1.102

查看 ProxyPass 和 ProxyPassReverse 的文档。

如果您只是为两者执行基于名称的虚拟主机,那么您可以在虚拟主机定义中添加类似这样的内容(或者如果您的盒子将托管 apache,则将 localhost 替换为您的 IP):

<Location />
    ProxyPass http://192.168.1.101
    ProxyPassReverse http://192.168.1.101
</Location>

然后在你朋友的虚拟主机配置中

<Location />
    ProxyPass http://192.168.1.102
    ProxyPassReverse http://192.168.1.102
</Location>

如果您不想让您的朋友更改防火墙规则、服务设置等,您还可以将端口添加到 ProxyPass 指令。或者您甚至可以成为另一个外部 IP 地址的反向代理。

相关内容