Я запускаю Django с Gunicorn (19.6.0) за Nginx (1.6.2). Все отлично работает с одной маленькой проблемой. Если я отправлю запрос POST с полезной нагрузкой JSON больше, чем около 10 КБ, а Django ответит 500er, я получу net::ERR_INCOMPLETE_CHUNKED_ENCODING
в Chrome, и ответ пуст, хотя Django отправляет строку JSON {"error":"some error description"}
.
Журнал Nginx показывает 104: Connection reset by peer
:
Если полезная нагрузка запроса POST небольшая, я получаю ожидаемый результат. Если я отправлю тот же запрос (также с большими полезными нагрузками) непосредственно в Gunicorn, ошибки не произойдет, и я получу ожидаемый ответ.
Моя конфигурация Nginx:
server {
listen 80 default_server;
server_name _;
client_max_body_size 10m;
location /static/ {
root /srv/yyyyy;
}
location /media/ {
root /srv/yyyyy;
}
# Proxy Pass to Gunicorn
location / {
include proxy_params;
proxy_pass http://unix:/srv/yyyyy/proxy_pass.sock;
}
}
Я также тестировал proxy_buffering off;
в блоке локации, но результат тот же.