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

Дмитрий Андреев me на kemko.ru
Пн Апр 17 12:48:30 UTC 2017


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
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20170417/5284d41a/attachment.html>


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