FastNetMon

Wednesday, 25 November 2009

upstream sent too big header while reading response header from upstream, client

Исправляется добавлением двух последних строк в конфиг Nginx:


http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

proxy_buffers 8 16k;
proxy_buffer_size 32k;

А вот подробное описание, что такое proxy_buffer_size и proxy_buffers.

А если по-русски, то proxy_buffer_size предназначен для хранения, прочтенного с бэкэнда хидера:

proxy_buffer_size and fastgci_buffer_size set buffer to read the whole of
response header from backend or fastcgi server.

То есть, если Вы уже выставили 32к, а ошибка все равно появляется, то нужно тюнить дальше.

Если же просто увеличить 32к до 64к, то можно получить вот такую ошибку:
Restarting nginx: [emerg]: "proxy_busy_buffers_size" must be less than the size of all "proxy_buffers" minus one buffer in /etc/nginx/nginx.conf:34017

Итого, если указанных в самом верху настроек мало, корректируем так:
proxy_buffers 8 32k;
proxy_buffer_size 64k;

(с) Игорь Сысоев

17 comments :

  1. Спасибо! Очень помогло!

    ReplyDelete
  2. Это для случая "nginx как прокси". Если работает связка nginx+php-fpm (страшно рекомендую, нагрузка на серверы упала буквально вдвое, и даже при перегрузе при разумном ограничении числа чайлдов php-fpm всё не так плохо, как бывало с апачем...) - там, соответственно, fastcgi_buffers & fastcgi_buffer_size

    ReplyDelete
  3. Хех, Паша, спасибо - пригодилось ;-)

    ReplyDelete
  4. Всегда пожалуйста :)

    ReplyDelete
  5. Копал в этой области, но с буфером в 32k FirePHP все равно валил Nginx.
    Оказалось, что nginx для работы с FirePHP любит очень большие буфера.

    ReplyDelete
  6. странно - поставил
    proxy_buffers 8 1m;
    proxy_buffer_size 2m;
    ничего не изменилось - как валилось на FirePHP так и валится :(

    ReplyDelete
  7. Replies
    1. А в таком случае для fastCGI нужно прописывать и куда ?

      Delete
  8. Большое спасибо автор. впервые в русскоязычном блоге нахожу именно то что нужно

    ReplyDelete
  9. Спасибо огромное! Помогло

    ReplyDelete

Note: only a member of this blog may post a comment.