Вверх по течению слишком большой-nginx + codeigniter
Я получаю эту ошибку от Nginx,но не могу понять это! Я использую codeigniter и использую базу данных для сеансов. Поэтому мне интересно, как заголовок может быть слишком большим. Есть ли в любом случае, чтобы проверить, что заголовок? или потенциально видеть, что я могу сделать, чтобы исправить эту ошибку?
Дайте мне знать, если вам нужно, чтобы я разместил какие-либо файлы conf или что-то еще, и я обновлю их по вашему запросу
2012/12/15 11:51:39 [error] 2007#0: *5778 upstream sent too big header while reading response header from upstream, client: 24.63.77.149, server: jdobres.xxxx.com, request: "POST /main/login HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "jdobres.xxxxx.com", referrer: "http://jdobres.xxxx.com/"
обновление
я добавил в следующей конфы:
proxy_buffer_size 512k;
proxy_buffers 4 512k;
proxy_busy_buffers_size 512k;
и теперь я все еще получаю следующее:
2012/12/16 12:40:27 [error] 31235#0: *929 upstream sent too big header while reading response header from upstream, client: 24.63.77.149, server: jdobres.xxxx.com, request: "POST /main/login HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "jdobres.xxxx.com", referrer: "http://jdobres.xxxx.com/"
5 ответов:
добавьте это в ваш
http {}
на nginx.conf файл обычно находится по адресу / etc/nginx / nginx.conf:proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k;
затем добавьте это в свой блок местоположения php, это будет расположено в вашем файле vhost ищите блок, который начинается с расположение ~ .php$ {
fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k;
измените конфигурацию nginx и измените / установите следующие директивы:
proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k;
Я доказал, что это также отправляется, когда передается недопустимый заголовок. Недопустимые символы или форматирование заголовков HTTP, срок действия файлов cookie, установленный более чем на месяц, и т. д. Все это вызовет: восходящий отправленный слишком большой заголовок при чтении заголовка ответа из восходящего
использование nginx + fcgiwrap + запрос слишком долго
у меня была та же проблема, потому что я использую конфигурацию nginx + fcgiwrap:
location ~ ^.*\.cgi$ { fastcgi_pass unix:/var/run/fcgiwrap.sock; fastcgi_index index.cgi; fastcgi_param SCRIPT_FILENAME /opt/nginx/bugzilla/$fastcgi_script_name; include /etc/nginx/fastcgi_params; # attachments can be huge client_max_body_size 0; client_body_in_file_only clean; # this is where requests body are saved client_body_temp_path /opt/nginx/bugzilla/data/request_body 1 2; }
и клиент делал запрос с URL-адресом, который был около 6000 символов (запрос bugzilla).
отладку...
location ~ ^.*\.cgi$ { error_log /var/log/nginx/bugzilla.log debug; # ... }
вот что я получил в журналах:
2015/03/18 10:24:40 [debug] 4625#0: *2 upstream split a header line in FastCGI records 2015/03/18 10:24:40 [error] 4625#0: *2 upstream sent too big header while reading response header from upstream, client: 10....
могу ли я иметь "414 запрос-uri слишком большой" вместо "502 плохой шлюз"?
Да, вы можете! Я читал как установить допустимую длину url для запроса nginx (код ошибки: 414, uri слишком большой) раньше, потому что я думал, "Эй URL-адрес слишком длинный", но я получаю
502
скорее, чем414
' s.попробовать #1:
# this goes in http or server block... so outside the location block large_client_header_buffers 4 8k;
это не удается, мой URL-адрес составляет 6000 символов
large_client_header_buffers 4 4k;
теперь я не вижу
502 Bad Gateway
больше и вместо этого я вижу414 Request-URI Too Large
" вверх по течению разделите строку заголовка в записях FastCGI"
сделал некоторые исследования и нашел где-то на интернет:
- http://forum.nginx.org/read.php?2,4704,4704
- https://www.ruby-forum.com/topic/4422529
- http://mailman.nginx.org/pipermail/nginx/2009-August/014709.html
- http://mailman.nginx.org/pipermail/nginx/2009-August/014716.html
этого мне было достаточно:
location ~ ^.*\.cgi$ { # holds request bigger than 4k but < 8k fastcgi_buffer_size 8k; # getconf PAGESIZE is 4k for me... fastcgi_buffers 16 4k; # ... }
я столкнулся с этой проблемой в прошлом (не используя codeigniter, но это происходит всякий раз, когда ответы содержат много данных заголовка) и привык настраивать буферы, как предлагается здесь, но недавно я снова укусил эту проблему, и буферы, по-видимому, были в порядке.
оказалось, что это была ошибка spdy, которую я использовал в этом конкретном проекте и решил, включив сжатие заголовков spdy следующим образом:
spdy_headers_comp 6;