Я хочу использовать 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;
}
}
Если для меня есть способ регулярного выражения или использования переменных для номеров портов, чтобы я мог просто сопоставить номер порта и перенаправить запрос с тем же номером порта?
В противном случае, есть ли другой способ сделать это? У меня есть много портов, чтобы добавить ...
Спасибо