Nginxのサブドメインに応じて異なる場所にプロキシをリバースする方法は?


13

複数のサブドメインがあり、すべて1つのマシンと1つのIPアドレスをポイントしています。このマシンでは、nginxをリバースプロキシとして機能させ、マシンへのアクセスに使用したサブドメインに応じて、別のサーバーへのリバースプロキシを設定します。nginxをリバースプロキシの使用として使用した例をすべて見てきましたlocationが、これはパスでのみ機能し、異なるサブドメインでは機能しないことを理解しています。どうすれば自分のやりたいことを達成できますか?


2
これは少し広すぎるかもしれません。あなたがすでに試したことについてもっと投稿できますか?
2016

回答:


27

私があなたの質問を完全に誤解しない限り:各サブドメインのサーバーブロックを設定し、そのサブドメインのルートに正しいリバースプロキシを定義するだけです。

 server {
        server_name subdomain1.example.com;
        location / {
            proxy_pass       http://hostname1:port1;
        }
 }
 server {
        server_name subdomain2.example.com;
        location / {
            proxy_pass       http://hostname2:port2;
        }
 }

返信が遅れて申し訳ありませんが、動作しました。
markasoftware 2016

3

ほぼ同じです。

location /foo {
    rewrite ^/foo(.+)$ /$1 break;
    proxy_pass http://foo;
}

location /bar {
    rewrite ^/bar(.+)$ /$1 break;
    proxy_pass http://bar;
}

1
これはまさに私が探していたものではありませんでした。受け入れられた回答を参照してください
markasoftware 16/02/04

1
噛むことと消化することは私のものではなく要求者の負担です。
drookie 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.