В настоящее время у меня есть пара блоков upstream и server для каждого порта, все остальные детали одинаковы:
upstream backend-7777 {
server XXX.XXX.XXX.XXX:7777;
server YYY.YYY.YYY.YYY:7777;
}
server {
listen 7777 ssl;
server_name abc.def.ghi abc;
location / {
proxy_pass https://backend-7777;
}
}
upstream backend-8888 {
server XXX.XXX.XXX.XXX:8888;
server YYY.YYY.YYY.YYY:8888;
}
server {
listen 8090 ssl;
server_name abc.def.ghi abc;
location / {
proxy_pass https://backend-8888;
}
}
upstream backend-9999 {
server XXX.XXX.XXX.XXX:9999;
server YYY.YYY.YYY.YYY:9999;
}
server {
listen 9999 ssl;
server_name abc.def.ghi abc;
location / {
proxy_pass https://backend-9999;
}
}
Я хотел бы упростить файл конфигурации.Напишите только один вышестоящий блок и блок сервера, используя номер порта в качестве переменной каким-либо образом.
Примерно так:
upstream backend {
server XXX.XXX.XXX.XXX;
server YYY.YYY.YYY.YYY;
}
server {
listen 6666 ssl;
listen 7777 ssl;
listen 8888 ssl;
listen 9999 ssl;
server_name abc.def.ghi abc;
location / {
proxy_pass https://backend:$PORT;
}
}
или
upstream backend {
server XXX.XXX.XXX.XXX:$PORT;
server YYY.YYY.YYY.YYY:$PORT;
}
server {
listen 6666 ssl;
listen 7777 ssl;
listen 8888 ssl;
listen 9999 ssl;
server_name abc.def.ghi abc;
location / {
proxy_pass https://backend;
}
}
I 'прочитал и попробовал с $ server_port, map и другими вещами, но безуспешно.
спасибо за ваше время
Похожие записи: NGINX использует $ server_port в апстриме