Nginx プロキシ サーバー - URL のパスに基づいて個別の Web サイトにマップします

Nginx プロキシ サーバー - URL のパスに基づいて個別の Web サイトにマップします

プロキシサーバーを設定しようとしています。

proxy-server.com/app1  -->  website1.com
proxy-server.com/app2  -->  website2.com
  1. 実際のバックエンド アプリケーションへのリダイレクトは行われません。ユーザーにproxy-server.com/app[1/2]は URL のみが表示されます。
  2. すべての静的リソースは正常に読み込まれるはずです。たとえば、/js/sample.jsapp2のリソースはlocationからリクエストする必要があります。/app2/js/sample.js
  3. アクションを実行するとき(フォームを送信したり、app2で別のページに移動するなど)、リクエストが先頭に追加され/app2、正しいアドレスにプロキシされる必要があります。
http {
  upstream webapp1 {
      server website1.com:443;
    }

    upstream webapp2 {
      server website2.com:443;
    }


     server {
          listen 80;
          listen 443 ssl;
          server_name   proxy-server.com;

          # certificate section

          location /app1 {
            proxy_pass https://webapp1/;
            proxy_set_header Host            website1.com;
          }

          location /app2 {
            proxy_pass https://webapp2/;
            proxy_set_header Host            website1.com;
          }
     }
}

if構成ではポイント 1 のみを修正しますが、上記の他の 2 つのポイントの解決策を見つけるのに苦労しています。ステートメントやモジュールを避けるように努めるつもりですが、クリーンな解決策を探していますsub_filter:)

関連情報