如何使用 Apache 將應用程式代理傳遞到“/”以外的位置?

如何使用 Apache 將應用程式代理傳遞到“/”以外的位置?

假設我的伺服器上有三個應用程式: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但我不知道如何使用。有沒有通用的解決方案來處理這種情況?或者我是否需要知道我嘗試代理通行證的每個應用程式的特殊性才能使其正常工作?

相關內容