Apache2 反向代理多个位置

Apache2 反向代理多个位置

我正在尝试使用 apache2 为我的本地应用程序 (bittorent sync) 配置代理mod_proxy_html。我运行本地应用程序的多个实例,每个实例针对不同的用户。要远程访问 Web 界面,我需要重定向地址

sub.example.com/user1本地应用程序正在监听127.0.0.1:8888

sub.example.com/user2等等127.0.0.1:8889

本地应用程序有一些硬编码链接/gui也需要重定向。

在我最近的尝试中,我设法让代理为单个用户运行,如下所示:

<VirtualHost *:80>
ServerName sub.example.com
ProxyRequests Off

ProxyPass /user1 http://127.0.0.1:8888
ProxyPassReverse /user1 http://127.0.0.1:8888
ProxyHTMLURLMap http://127.0.0.1:8888 /user1
Redirect permanent /gui /user1/gui

</VirtualHost>

现在,我想扩展该解决方案以适应多个用户和端口,如下所示:

<VirtualHost *:80>
ServerName sub.example.com
ProxyRequests Off

<Location /user1>
    ProxyPass http://127.0.0.1:8888
    ProxyPassReverse http://127.0.0.1:8888
    ProxyHTMLURLMap http://127.0.0.1:8888 /user1
    Redirect permanent /gui /user1/gui
</Location>

<Location /user2>
    ProxyPass http://127.0.0.1:8889
    ProxyPassReverse http://127.0.0.1:8889
    ProxyHTMLURLMap http://127.0.0.1:8889 /user2
    Redirect permanent /gui /user2/gui
</Location>

</VirtualHost>

不幸的是,它并没有按照我预期的那样工作。

答案1

为什么不按用户定义虚拟主机,如 user1.sub.example.com、user2.sub.example.com

你不能定义两次相同的永久重定向在相同的上下文中(这里只有一个虚拟主机)

相关内容