<div dir="ltr"><a href="http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#hash">http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#hash</a> - не подходит?</div><br><div class="gmail_quote"><div dir="ltr">пн, 17 апр. 2017 г. в 14:37, Alexander Simakov <<a href="mailto:xdr.box@gmail.com">xdr.box@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Добрый день!</div><div><br></div><div>Подскажите, пожалуйста, как наиболее оптимальным</div><div>способом решить следующую задачу:</div><div><br></div><div>NGINX используется качестве прокси для входящих</div><div>из интернета HTTPS и WebSocket-соединений.</div><div><br></div><div>Запросы приходят на домены вида <a href="http://NNNN.example.com" target="_blank">NNNN.example.com</a>,</div><div>где NNNN - некое число. Для каждого NNNN по очень</div><div>простому алгоритму вычисляется внутренний IP-адрес</div><div>на который нужно пробросить данное соединение.</div><div><br></div><div>Вот пример конфигурации:</div><div><br></div><div>==8<==</div><div><div>server {</div><div>    listen 443;</div><div>    server_name <a href="http://NNNN.example.com" target="_blank">NNNN.example.com</a>;</div><div><br></div><div>    location / {</div><div>        proxy_pass <a href="http://IP_ADDR_FOR_NNNN/" target="_blank">http://IP_ADDR_FOR_NNNN/</a>;</div><div>    }</div><div><br></div><div>    location /ws/ {</div><div>        proxy_pass <a href="http://IP_ADDR_FOR_NNNN/ws/" target="_blank">http://IP_ADDR_FOR_NNNN/ws/</a>;</div><div>        proxy_http_version 1.1;</div><div>        proxy_set_header Upgrade $http_upgrade;</div><div>        proxy_set_header Connection "upgrade";</div><div>    }</div><div>}</div></div><div>==8<==<br></div><div><br></div><div>Сейчас я вынужден программно генерировать большие</div><div>статические файлы-портянки в которых порядка 1000</div><div>таких секций.</div><div><br></div><div>Подскажите, можно ли в данном примере как-то заскриптовать</div><div>логику получения IP-адреса по NNNN и иметь один компактный</div><div>и универсальный файл? Или, может, как-то предвычислить для</div><div>NGINX хеш { NNNN -> IP_ADDR_FOR_NNNN } и использовать его</div><div>в конфиге?</div><div><br></div><div>Спасибо.</div><br clear="all"><div><div class="m_1609161737072475354m_121333429317486956gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>С уважением,</div><div>Александр Симаков</div></div></div></div></div></div>
</div>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div>