proxy_bind, макросы и др
kpoxa
kpoxa на kpoxa.net
Вт Ноя 17 13:43:27 UTC 2015
Добрый день.
proxy_bind в модуле stream не поддерживает работу с переменными, как и
proxy_pass, что хотелось бы иметь использовать, например для ав тестов,
определить переменную и через нее определять или куда отправлять коннект,
или с какого адреса, иногда для тестов этого хватает.
В конфигах nginx часто приходится повторять одинаковые куски конфига,
например выбор апстрима по локейшену, с настройках пропускаемых заголовков,
что порождает большие конфиги или такого вида:
location /one/ {
proxy_pass http://one;
proxy_set_header ...
....
....
access_log one.log;
}
location /two/ {
proxy_pass http://one;
proxy_set_header ...
....
....
access_log one.log;
}
или такого
location /one/ {
include one.conf;
}
location /two/ {
include one.conf;
}
первый вариант плохо читаемый в виду своей громосткости, второй из-за того,
что не видно, что записано во включаемом файле.
у меня есть два предложения, как можно синтаксически это реализовать по
другому, первый вариант это директива
location_list (
/one/
/two/
) {
proxy_pass http://one;
proxy_set_header ...
....
....
access_log one.log;
}
второй это явная возможность вызова именованных локейшенов, например
location @one {
proxy_pass http://one;
proxy_set_header ...
....
....
access_log one.log;
}
location /one/ {
go @one;
}
location /two/ {
go @one;
}
буду рад комментам и разумной критике :)
---
Рустам Нарманов.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20151117/37058452/attachment.html>
Подробная информация о списке рассылки nginx-ru