Reverse-Proxy
Apache2反向代理多個位置
我正在嘗試使用 apache2 為我的本地應用程序(bittorent 同步)配置代理
mod_proxy_html
。我執行本地應用程序的多個實例,每個實例用於不同的使用者。要遠端訪問網頁界面,我需要重定向地址
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>
不幸的是,這並沒有按我的預期工作。
為什麼不按使用者定義虛擬主機,例如 user1.sub.example.com、user2.sub.example.com
您不能在同一上下文中定義兩次相同的永久重定向(這裡只有一個虛擬主機)