Переадресация нескольких портов на один порт с помощью 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
Как я могу это сделать?
2 ответа
Решение
Вы должны быть в состоянии сделать это, настроив несколько server
блоки, аналогичные тому, что в вашем примере, прослушивают разные порты (4440, 4441 и 4442) и имеют идентичный раздел конфигурации 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;
}
}
Это также работает...
server {
listen 4442;
listen 4441;
listen 4443;
listen 4444;
location / {
proxy_pass http://10.1.1.2:5479/;
include /etc/nginx/proxy_params;
}
}