Можно ли заскриптовать несложную логику прямо в конфиге?
Alexander Simakov
xdr.box на gmail.com
Пн Апр 17 11:37:25 UTC 2017
Добрый день!
Подскажите, пожалуйста, как наиболее оптимальным
способом решить следующую задачу:
NGINX используется качестве прокси для входящих
из интернета HTTPS и WebSocket-соединений.
Запросы приходят на домены вида NNNN.example.com,
где NNNN - некое число. Для каждого NNNN по очень
простому алгоритму вычисляется внутренний IP-адрес
на который нужно пробросить данное соединение.
Вот пример конфигурации:
==8<==
server {
listen 443;
server_name NNNN.example.com;
location / {
proxy_pass http://IP_ADDR_FOR_NNNN/;
}
location /ws/ {
proxy_pass http://IP_ADDR_FOR_NNNN/ws/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
==8<==
Сейчас я вынужден программно генерировать большие
статические файлы-портянки в которых порядка 1000
таких секций.
Подскажите, можно ли в данном примере как-то заскриптовать
логику получения IP-адреса по NNNN и иметь один компактный
и универсальный файл? Или, может, как-то предвычислить для
NGINX хеш { NNNN -> IP_ADDR_FOR_NNNN } и использовать его
в конфиге?
Спасибо.
С уважением,
Александр Симаков
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20170417/2df9a05c/attachment.html>
Подробная информация о списке рассылки nginx-ru