web-dev-qa-db-fra.com

Transfert de plusieurs ports vers un seul port à l'aide de nginx

Je souhaite transférer par proxy toutes les demandes provenant d'une série de ports dans un seul port. Je suis capable de passer un port par un autre proxy comme ceci:

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

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

Donc, quand j'essaie test.in:3333, il redirige vers 10.1.1.2:5479.

De la même manière, j'ai besoin de transmettre par proxy ces:

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   

Comment puis-je faire ceci?

6
Hari

Vous devriez pouvoir le faire en configurant plusieurs blocs server, similaires à celui de votre exemple, en écoutant sur les différents ports (4440, 4441 et 4442) et en ayant une section de configuration proxy_pass identique.

Par exemple:

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

Ça marche aussi ...

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