Re: proxy pass через Header

Maxim Dounin mdounin at mdounin.ru
Wed Mar 6 12:31:32 UTC 2013


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, 
который в свою очередь проксируется на нужный сервер.

-- 
Maxim Dounin
http://nginx.org/en/donation.html



Подробная информация о списке рассылки nginx-ru