<div dir="ltr"><div>Добрый день.</div><div><br></div><div>А чем так плохо?</div><div><br></div>location ~* ^/(one|two)/<div>{</div><div><div> proxy_pass <a href="http://one">http://one</a>;</div><div> proxy_set_header ...</div><div> ....</div><div> ....</div></div><div>}</div></div><div class="gmail_extra"><br><div class="gmail_quote">17 ноября 2015 г., 15:43 пользователь kpoxa <span dir="ltr"><<a href="mailto:kpoxa@kpoxa.net" target="_blank">kpoxa@kpoxa.net</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Добрый день.<div><br></div><div>proxy_bind в модуле stream не поддерживает работу с переменными, как и proxy_pass, что хотелось бы иметь использовать, например для ав тестов, определить переменную и через нее определять или куда отправлять коннект, или с какого адреса, иногда для тестов этого хватает.</div><div><br></div><div>В конфигах nginx часто приходится повторять одинаковые куски конфига, например выбор апстрима по локейшену, с настройках пропускаемых заголовков, что порождает большие конфиги или такого вида:</div><div><br></div><div>location /one/ {</div><div> proxy_pass <a href="http://one" target="_blank">http://one</a>;</div><div> proxy_set_header ...</div><div> ....</div><div> ....</div><div> access_log one.log;</div><div>}<br><div><br></div><div><div>location /two/ {</div><div> proxy_pass <a href="http://one" target="_blank">http://one</a>;</div><div> proxy_set_header ...</div><div> ....</div><div> ....</div><div> access_log one.log;</div><div>}<br></div></div><div><br></div><div>или такого</div><div><div>location /one/ {</div><div>  include one.conf;</div><div>}<br></div></div><div><div><div>location /two/ {</div><div>  include one.conf;</div><div>}<br></div></div></div><div><br></div><div>первый вариант плохо читаемый в виду своей громосткости, второй из-за того, что не видно, что записано во включаемом файле.</div><div><br></div><div><br></div><div>у меня есть два предложения, как можно синтаксически это реализовать по другому, первый вариант это директива</div><div>location_list (</div><div>  /one/</div><div>  /two/</div><div>) {</div><div><div> proxy_pass <a href="http://one" target="_blank">http://one</a>;</div><div> proxy_set_header ...</div><div> ....</div><div> ....</div><div> access_log one.log;</div></div><div><br></div><div>}</div><div><br></div><div>второй это явная возможность вызова именованных локейшенов, например</div><div><div>location @one {</div><div> proxy_pass <a href="http://one" target="_blank">http://one</a>;<br></div><div> proxy_set_header ...</div><div> ....</div><div> ....</div><div> access_log one.log;</div><div>}</div><div>location /one/ {</div><div>  go @one;</div><div>}<br><div><br></div><div><div>location /two/ {</div><div>  go @one;</div><div>}<br></div></div></div></div><div><br></div><div><br></div><div>буду рад комментам и разумной критике :)</div><div>---</div><div>Рустам Нарманов.</div></div></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">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><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>--------------------------------------------------------------------------------<br>С ув, Никита Александрович<br>Jabber: <a href="mailto:a@sft.in.ua" target="_blank">a@sft.in.ua</a><br></div></div></div>
</div>