web-dev-qa-db-ja.com

複数のProxyPassでApacheを構成する

私は、8080でリッスンし、特定のURLでトラフィックを受信し、8077でリッスンし、他のすべてのHTTPトラフィックを受信する2つの内部サービスを提供するプロキシとしてApacheサーバーを構成しようとしています

これら2つのサービスが実行されている同じサーバーにApacheをデプロイおよび構成し、すべてのSSL構成とともに443をリッスンしており、正常に機能しています

また、proxy_module、proxy_http_module、proxy_http2_moduleを有効にしました

私が達成したいこと

要求されたURLが/ webhook1-> EP1に渡す http:// localhost:808 で、他の要求されたURLがEP2に渡される場合 http:// localhost:8077

最初のサービスに向けた現在の構成

ProxyPass /webhook1  http://localhost:8080
ProxyPassReverse /webhook1 http://localhost:8080

今、私は別のプロキシパスを次のようなものに定義したい

ProxyPass /  http://localhost:8077
ProxyPassReverse / http://localhost:8077

両方の構成を組み合わせても機能しません。私の要件を満たすためにApacheを構成する方法についてご協力をお願いします

前もって感謝します

9
Qais Ammari

必要に応じてProxyPassルールを正しい順序で配置します

/ webhook1ルールを評価して8080に送信する場合、または8077にトラフィックを送信する場合、ルールは次の順序である必要があります

ProxyPass /webhook1  http://localhost:8080
ProxyPassReverse /webhook1 http://localhost:8080
ProxyPass /  http://localhost:8077
ProxyPassReverse / http://localhost:8077
21
Qais Ammari

次のように、/ etc/Apache2/sites-enabled /にssl.confファイルを作成できます。

RewriteEngine on
ProxyPass /webhook1 http://127.0.0.1:8080/
ProxyPassReverse /webhook1 http://127.0.0.1:8080/
RewriteRule ^/$ /webhook1/ [R,L]

RewriteEngine on
ProxyPass / http://127.0.0.1:8087/
ProxyPassReverse / http://127.0.0.1:8087/
RewriteRule ^/$ /EP2/ [R,L]

Apache2でSSL証明書が設定されている場合、自動的にHTTPSにリダイレクトされます。

1
Dibyendu Basu