NGINX, используйте номер порта ($ server_port) для упрощения конфигурации - PullRequest
0 голосов
/ 03 октября 2018

В настоящее время у меня есть пара блоков 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 в апстриме

...