<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">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">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">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">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>