Re: Можно ли заскриптовать несложную логику прямо в конфиге?

Alexander Simakov xdr.box на gmail.com
Пн Апр 17 13:18:46 UTC 2017


Думаю что нет. Мне ведь не нужно балансировать нагрузку
между несколькими бэкэндами.

Требуется все запросы на определённый домен всегда
перенаправлять на заданный IP. Таких пар "домен -> IP"
может быть несколько десятков тысяч, при том, что нужный
IP-адрес вычисляется  по домену одной строчкой кода.
Вот и возник вопрос: можно ли обойтись без длинного
и однообразного конфига.


С уважением,
Александр Симаков

17 апреля 2017 г., 15:48 пользователь Дмитрий Андреев <me на kemko.ru> написал:

> http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#hash - не
> подходит?
>
> пн, 17 апр. 2017 г. в 14:37, Alexander Simakov <xdr.box на gmail.com>:
>
>> Добрый день!
>>
>> Подскажите, пожалуйста, как наиболее оптимальным
>> способом решить следующую задачу:
>>
>> 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 } и использовать его
>> в конфиге?
>>
>> Спасибо.
>>
>> С уважением,
>> Александр Симаков
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru на nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20170417/dafe69a4/attachment.html>


Подробная информация о списке рассылки nginx-ru