upstream && if
Andrey Repin
hell-for-yahoo at umail.ru
Mon Mar 4 18:23:48 UTC 2013
Здравствуйте, Уважаемый(-ая, -ое) Андрей Середенко!
АС> Доброго времени суток всем подписчикам!
АС> Подскажите, возможно ли нечто этакое:
АС> Использую proxy_pass, для примера:
АС> upstream some_proxy {
АС> server SERV_NAME_1:8080;
АС> server SERV_NAME_2:8080 backup;
АС> }
АС> в локейшене анализирую урел на предмет наличия определенного параметра:
АС> /some/url/.....?param=SERV_NAME_x
АС> Задача в том, чтобы отдавать запрашиваемый файлик (имя передается в том же
АС> в урле) при встрече такого параметра с машины SERV_NAME_x, и не
АС> проксировался на вторую машину. Хотел попробовать в upstream вписать if
АС> проверки, а-ля:
Что мешает прописать ещё два апстрима, по одному на конкретный сервер? И при
необходимости отдавать с них.
АС> if ($args ~* (.*) param=SERV_NAME_1 (.+)) {
АС> * server SERV_NAME_1:8080;*
АС> }
АС> аналогично для serv_name_2. Но в upstream, насколько я понял, нельзя
АС> использовать директиву if. Подскажите, есть ли какое-то более-менее
АС> стандартное решение этого вопроса, или же надо искать в другой степи?
АС> Спасибо.
--
С уважением
Andrey Repin (hell-for-yahoo at umail.ru) понедельник, 04.03.2013, <22:23>
Подробная информация о списке рассылки nginx-ru