Re: Управление бэкендами

Валентин Бартенев vbart at nginx.com
Fri Nov 1 13:02:43 UTC 2013


On Friday 01 November 2013 16:54:43 Sergey Kobzar wrote:
[..]
> > Далее у вас есть internal location, в котором тот же
> > proxy_pass/fastcgi_pass с переменной и запрос отправляется на нужный
> > сервер.
> 
> А переменную как выковырять из ответа?
> 

Например так: возвращаете "X-Accel-Redirect: /redirect_to/198.51.100.1"
и он попадает в такой location:

  location ~ ^/redirect_to/(?<backend>.+)$ {
      internal;
      proxy_pass http://$backend;
  }

Если нужно сохранить оригинальный URI запроса, то это делается с помощью set:

  set $original_uri $request_uri;

и proxy_pass в этом случает будет выглядеть так:

  proxy_pass http://$backend$original_uri;

--
Валентин Бартенев


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