Welcome! Log In Create A New Profile

Advanced

Re: Не передается response header при исползовании X-Accel-Redirect

Maxim Dounin
June 14, 2017 09:26AM
Hello!

On Wed, Jun 14, 2017 at 03:17:47PM +0300, Никита wrote:

>
> Добрый день !
>
> Проблема: 
> Не передаются некоторые response хедеры которые отдает uwsgi в ответе при  использовании X-Accel-Redirect
>
> location / {
> include uwsgi_params;
> uwsgi_pass unix:/var/run/uwsgi/app/django/socket;
> uwsgi_param HTTP_X_ORIGINAL_URL $request_uri;
> }
> location ~ ^/_internal/redirect-location/(.*)$ {
> internal;
> proxy_set_header Host $host;
> proxy_set_header X-Subdomain $http_x_subdomain;
> proxy_pass http://consul-frontend-mobile-website/$1$is_args$args;
> }
>
> Вот дебаг лог
>
> https://gist.github.com/anonymous/e18aa7ebb5e717fada9a45affc9623f6
>
>
> Искомый хедер который не передается - X-Flavour

В такой конфигурации и не должен. После перенаправления на бекенд
передаются заголовки исходного запроса пользователя, аналогично
тому, что происходит просто при обычном проксировании.

> Пробовали:
>
> location ~ ^/_internal/redirect-location/(.*)$ {
> internal;
> proxy_set_header X-Flavour $upstream_http_x_flavour ;
> proxy_set_header Host $host;
> proxy_set_header X-Subdomain $http_x_subdomain;
> proxy_pass http://consul-frontend-mobile-website/$1$is_args$args;
> }
>
> Куда еще копнуть ?

Переменные $upstream_* очищаются при начале работы с новым
upsteam'ом, так что в момент формирования заголовков нового
запроса переменная $upstream_http_x_flavour будет пустой.

Если нужно использовать значение, полученное от бекенда в рамках
предыдущего обращения, можно сохранить его в промеждуточную
переменную с помощью директивы set, как-то так:

set $foo $upstream_http_x_flavour;
proxy_pass http://...;
proxy_set_header X-Flavour $upstream_http_x_flavour;
...

--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Не передается response header при исползовании X-Accel-Redirect

Никита June 14, 2017 08:18AM

Re: Не передается response header при исползовании X-Accel-Redirect

Maxim Dounin June 14, 2017 09:26AM

Re[2]: Не передается response header при исползовании X-Accel-Redirect

Никита June 14, 2017 10:54AM

Re: Не передается response header при исползовании X-Accel-Redirect

Maxim Dounin June 14, 2017 11:06AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 137
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready