web-dev-qa-db-ja.com

nginxを使用して複数のポートを単一のポートに転送する

プロキシは、一連のポートからのすべてのリクエストを単一のポートに渡します。私は次のように単一のポートを別のポートにプロキシ渡すことができます:

server {
    listen 3333;
    server_name test.in *.test.in;

    location / {
        proxy_pass  http://10.1.1.2:5479/;
        include /etc/nginx/proxy_params;
    }
}

したがって、test.in:3333を試行すると、10.1.1.2:5479にリダイレクトされます。

同様に、これらをプロキシパスする必要があります。

test.in 4440 to 10.1.1.2:5479
test.in 4441 to 10.1.1.2:5479  
test.in 4442 to 10.1.1.2:5479   

これどうやってするの?

6
Hari

これを行うには、例のブロックに似た複数のserverブロックを設定し、異なるポート(4440、4441、4422)でリッスンし、proxy_pass構成セクションを同一にする必要があります。

例えば:

server {
    listen 4440;

    location / {
        proxy_pass  http://10.1.1.2:5479/;
        include /etc/nginx/proxy_params;
    }
}
server {
    listen 4441;

    location / {
        proxy_pass  http://10.1.1.2:5479/;
        include /etc/nginx/proxy_params;
    }
}
server {
    listen 4442;

    location / {
        proxy_pass  http://10.1.1.2:5479/;
        include /etc/nginx/proxy_params;
    }
}
6
jkt123

それも働いています...

server {
    listen 4442;
    listen 4441;
    listen 4443;
    listen 4444;

    location / {
        proxy_pass  http://10.1.1.2:5479/;
        include /etc/nginx/proxy_params;
    }
}
14
Hari