![如何使用 Apache 将应用程序代理传递到不同于“/”的位置?](https://linux22.com/image/782875/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Apache%20%E5%B0%86%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%BB%A3%E7%90%86%E4%BC%A0%E9%80%92%E5%88%B0%E4%B8%8D%E5%90%8C%E4%BA%8E%E2%80%9C%2F%E2%80%9D%E7%9A%84%E4%BD%8D%E7%BD%AE%EF%BC%9F.png)
假设我的服务器上有三个应用程序:node-red
(1880),jupyter
(8888)和pgadmin
(5433)...我可以分别使用它们成功创建本地主机代理传递,如下所示:
<VirtualHost *:80>
ServerName 127.0.0.1
<Location "/">
ProxyPass http://127.0.0.1:1880/
ProxyPassReverse http://127.0.0.1:1880/
</Location>
</VirtualHost>
我意识到,如果我尝试将它们放在该"/"
位置,它们三个都可以正常工作。但是,如果我尝试将它们放在以下独特的位置:
<VirtualHost *:80>
ServerName 127.0.0.1
<Location "/nodered/">
ProxyPass http://127.0.0.1:1880/
ProxyPassReverse http://127.0.0.1:1880/
</Location>
<Location "/jupyter/">
ProxyPass http://127.0.0.1:8888/
ProxyPassReverse http://127.0.0.1:8888/
</Location>
<Location "/pgadmin/">
ProxyPass http://127.0.0.1:5433/
ProxyPassReverse http://127.0.0.1:5433/
</Location>
</VirtualHost>
它们都无法在各自的地址上工作http://127.0.0.1/nodered/
,http://127.0.0.1/jupyter/
或者http://127.0.0.1/pgadmin/
...我不知道我缺少什么概念才能使它工作。我想我必须使用,RewriteRule
但我不确定如何使用。有没有通用的解决方案来处理这种情况?或者我需要知道我试图代理传递的每个应用程序的特殊性才能使其工作?