Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: fastcgi_pass_header X-Accel -Redirect не работает как ожидается
Hello!
On Mon, Jun 22, 2009 at 02:17:23AM +0700, Sergey Serov wrote:
> Hi all,
>
> Схема такая:
> fcgi -> nginx1 -> nginx2
>
> Файлы на nginx2, соотв. обрабатывать X-Accel-Redirect на nginx1 не нужно.
> Сделал следющее:
>
> fastcgi_ignore_headers X-Accel-Redirect;
> fastcgi_pass_header X-Accel-Redirect;
>
> Первое работает - заголовок перестает обрабатываться, а второе нет -
> заголовка
> nginx2 не видит (я тоже не вижу через curl -v).
Патч.
> При этом на nginx1
> add_header X-Accel-Redirect $sent_http_my_filename;
> работает, чем я и решил временно проблему.
Без патча на nginx1 можно сделать так:
fastcgi_ignore_headers X-Accel-Redirect;
add_header X-Accel-Redirect $upstream_http_x_accel_redirect;
т.е. без изменений бекенда.
Maxim Dounin
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -224,19 +224,19 @@ ngx_http_upstream_header_t ngx_http_ups
{ ngx_string("X-Accel-Redirect"),
ngx_http_upstream_process_header_line,
offsetof(ngx_http_upstream_headers_in_t, x_accel_redirect),
- ngx_http_upstream_ignore_header_line, 0, 0 },
+ ngx_http_upstream_copy_header_line, 0, 0 },
{ ngx_string("X-Accel-Limit-Rate"),
ngx_http_upstream_process_limit_rate, 0,
- ngx_http_upstream_ignore_header_line, 0, 0 },
+ ngx_http_upstream_copy_header_line, 0, 0 },
{ ngx_string("X-Accel-Buffering"),
ngx_http_upstream_process_buffering, 0,
- ngx_http_upstream_ignore_header_line, 0, 0 },
+ ngx_http_upstream_copy_header_line, 0, 0 },
{ ngx_string("X-Accel-Charset"),
ngx_http_upstream_process_charset, 0,
- ngx_http_upstream_ignore_header_line, 0, 0 },
+ ngx_http_upstream_copy_header_line, 0, 0 },
#if (NGX_HTTP_GZIP)
{ ngx_string("Content-Encoding"),
|