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_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;
Детали параметров из официального сайта
синтаксис: proxy_buffers число размер;
умолчание: proxy_buffers 8 4k|8k;
Предлагает сделать число и размер буферов для одного соединения, в которые будет читаться ответ, получаемый от проксируемого сервера. По умолчанию габарит одного буфера равен размеру страницы. В зависимости от платформы это или 4K, или 8K.
синтаксис: proxy_busy_buffers_size габарит;
умолчание: proxy_busy_buffers_size 8k|16k;
При включённой буферизации ответов проксируемого сервера, суживает суммарный размер буферов, которые могут быть заняты для отправки ответа (реплика, вызванная заданным вопросом или реакция на какое-либо событие) покупателю, пока ответ ещё не прочитан целиком. Оставшиеся буферы тем временем могут использоваться для чтения протеста и, при необходимости, буферизации части ответа во временный файл. По умолчанию размер ограничен 2 буферами, заданными директивами proxy_buffer_size и proxy_buffers.

