http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#hash - не подходит?
пн, 17 апр. 2017 г. в 14:37, Alexander Simakov <xdr....@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