Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Wed, Mar 06, 2013 at 06:27:39AM -0500, krain wrote: > > > nginx стоит балансировщиком и переадресует запросы скажем > > на группу серверов > > 192.168.0.1 > > 192.168.0.2 > > 192.168.0.2 > > через proxy_pass > > > > Например запрос перешел на 192.168.0.1, можно ли как-то вернуть в > заголовке > > команду для балансировщика > > сменить upstream сервер с 192.168.0.1 на 192.168.0.2 или 192.168.0.3 > (на > > тот, который укажет скрипт) > > Не передавая ничего в браузер пользователя (что-то вроде внутреннего > > редиректа, но на другой upstream сервер) > > > > Как я понял proxy_next_upstream не подходит. > > > > Задача в следующем: > > Если на сервере нет нужного файла, но скрипт определил где файл > находится > > (после запроса к базе данных) и готов указать указать > > на каком сервере он лежит. > > Хочется чтобы балансировщик nginx переподключился к указанному > серверу. > > > > Заранее спасибо за ответ. > > Логичным решением было бы вернуть X-Accel-Redirect в location, > который в свою очередь проксируется на нужный сервер.
Вроде как "X-Accel-Redirect:" только локально работает? (http://kovyrin.net/2010/07/24/nginx-fu-x-accel-redirect-remote/) т.е. выдавая скриптом с сервера 192.168.0.1 ответ в header-е X-Accel-Redirect: http://192.168.0.2/a.html бэкенд до ответа посетителю должен переслать запрос к 192.168.0.2 и если все ок, то отдать нормальный ответ посетителю? Возможно ли так передать POST запрос? > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,236991,237005#msg-237005 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru