Welcome! Log In Create A New Profile

Advanced

причина 'upstream sent too big header'?

Alex L. Demidov
January 27, 2011 03:48AM
У моего клиента работает nginx 0.8.53 под debian, php через fastcgi

location ~ \.php$ {
ssi on;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/axis$fastcgi_script_name;
}

В процессе тестирования проявилась следующая проблема:

2011/01/26 10:39:29 [error] 12938#0: *116 upstream sent too big header while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: www.example.com, request: "POST /prestashop/modules/hsbc/validation.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.example.com", referrer: "http://www.example.com/prestashop/modules/hsbc/validation.php"

Я порекомендовал клиенту добавить в секцию http { ... }
'fastcgi_buffers 8 16k;' и увеличивать первое число пока проблема не
уйдет. Клиент докрутил до '128 16k', но проблема не решилась.

Заодно клиент прислал мне ссылку на утверждение г. Hongi Lai (автора
Phusion Passenger) что данная проблема не решается увеличением
буферов, цитирую: 'It's got nothing to do with buffer sizes. Nginx
simply refuses to accept response headers that are larger than a
certain limit for security reasons.'

http://groups.google.com/group/phusion-passenger/browse_thread/thread/5e6d0684793bc62d/b38b5374d957f3ef

Я поразглядывал вызов process_header в src/http/ngx_http_upstream.c
и его окрестности и этих 'certain limit for security reasons' (кроме
обычного переполнения буферов) которые приводят к сообщению
'upstream sent too big header' так и не увидел. Но смотрел я всего
полчаса и хотелось бы услышать чье-то более информированное мнение.

Пока я посоветовал клиенту продолжить крутить буфера, но на этот раз
менять второе число (16k) плюс одновременно добавить
fastcgi_buffer_size с соответствующим размером (а надо ли?
Документация говорит что этот буфер по умолчанию равен размеру
буфера из fastcgi_buffers).

--
Alex L. Demidov (ALD9-RIPE).
http://alexeydemidov.com/
Freelance Consulting.

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

причина 'upstream sent too big header'?

Alex L. Demidov January 27, 2011 03:48AM

Re: причина 'upstream sent too big header'?

Max Ivanov January 27, 2011 04:02AM

Re: причина 'upstream sent too big header'?

Igor Sysoev January 27, 2011 04:22AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 159
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready