nginx - перенаправление на основе номера порта - PullRequest
0 голосов
/ 27 октября 2018

Я хочу использовать nginx в качестве балансировщика нагрузки для распределения нагрузки на 2 сервера. Я делал это в прошлом, но застрял с определенным требованием.

Мне нужно перенаправить запросы на серверы (от балансировщика нагрузки nginx) на основе номера входящего порта, но мне не нужно вводить каждую запись в файле /etc/nginx/conf.d/load-balancer.conf, и мне было интересно, есть ли способ регулярного выражения на основе номера входящего порта?

На данный момент, например, у меня есть это, которое работает правильно:

# Port 444
upstream backend444 {
   server 10.0.0.1:444;
   server 10.0.0.2:444;
}

server {
   listen 444 ssl;
   server_name domain.com;
   ssl_certificate /etc/letsencrypt/live/domain.com/cert.pem;
   ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
   location / {
      proxy_pass https://backend444;
   }
}

# Port 445
upstream backend445 {
   server 10.0.0.1:445;
   server 10.0.0.2:445;
}
server {
   listen 445 ssl;
   server_name domain.com;
   ssl_certificate /etc/letsencrypt/live/domain.com/cert.pem;
   ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
   location / {
      proxy_pass https://backend445;
   }
}

Если для меня есть способ регулярного выражения или использования переменных для номеров портов, чтобы я мог просто сопоставить номер порта и перенаправить запрос с тем же номером порта?

В противном случае, есть ли другой способ сделать это? У меня есть много портов, чтобы добавить ...

Спасибо

...