Welcome! Log In Create A New Profile

Advanced

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

Валентин Бартенев
November 01, 2013 11:04AM
On Friday 01 November 2013 17:50:51 Sergey Kobzar wrote:
> On 11/01/13 15:09, Валентин Бартенев wrote:
> > On Friday 01 November 2013 17:02:43 Валентин Бартенев wrote:
> >> 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;
> >
> > Альтернативный, и даже наверное лучший и более простой вариант всего
> > этого: использовать аналогичным образом модуль ngx_http_auth_request.
> >
> > http://nginx.org/ru/docs/http/ngx_http_auth_request_module.html
>
> Хм. А этот модуль при чем? Мне не нужно авторизовывать пользователей.
>

Авторизация - лишь одно из применений. В каком-то смысле ваша задача тоже
авторизация, вы авторизуете пользовательский запрос быть переданным на
определенный бэкенд.

Для вас важно, что модуль отправляет запрос на access-фазе на указанный
сервер и позволяет из его ответа извлечь адрес бэкенда, на который потом
запрос будет передан.

Основной плюс тут в том, что на конечный бэкенд будет уходить оригинальный
запрос, а не перенаправленный, как в предложенном мной ранее решении с
X-Accel-Redirect. Не потребуется хака с сохранением $request_uri.

--
Валентин Бартенев
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

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

sergey.kobzar November 01, 2013 08:24AM

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

Oleksandr V. Typlyns'kyi November 01, 2013 08:30AM

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

sergey.kobzar November 01, 2013 08:38AM

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

Валентин Бартенев November 01, 2013 08:42AM

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

sergey.kobzar November 01, 2013 08:46AM

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

Валентин Бартенев November 01, 2013 08:34AM

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

sergey.kobzar November 01, 2013 08:42AM

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

Валентин Бартенев November 01, 2013 08:48AM

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

sergey.kobzar November 01, 2013 08:56AM

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

Валентин Бартенев November 01, 2013 09:04AM

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

Валентин Бартенев November 01, 2013 09:10AM

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

sergey.kobzar November 01, 2013 09:52AM

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

Валентин Бартенев November 01, 2013 11:04AM

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

sergey.kobzar November 01, 2013 04:06PM

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

sergey.kobzar November 01, 2013 09:14AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 121
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready