Nginx + django + uwsgi 에서 ERR_CONTENT_LENGTH_MISMATCH 오류
0. 환경
- ubuntu 16.04
- nginx 1.10(버전이 낮아서 그런 걸 수도 있다)
- django 1.11 + uwsgi
- chrome 75
1. 오류 상황
2MB 정도의 json string을 request parameter로 넘기니 ERR_CONTENT_LENGTH_MISMATCH(400) 에러 발생
2. 해결방법
1) nginx
nginx 설정 파일을 아래처럼 수정.
location / {
uwsgi_pass [경로]
include uwsgi_params;
uwsgi_buffering off;
}
일반 proxy(proxy_pass)를 사용한다면 proxy_buffering off;
모든 포트의 location /마다 추가해야 한다.
2) django
settings.py에 아래 줄을 추가 혹은 수정.
(django 홈페이지에 따르면 기본값은 2.5MB)
DATA_UPLOAD_MAX_MEMORY_SIZE = [원하는 값(Bytes)]
수정 후 nginx와 uwsgi를 재시작한다.
- ubuntu 16.04
- nginx 1.10(버전이 낮아서 그런 걸 수도 있다)
- django 1.11 + uwsgi
- chrome 75
1. 오류 상황
2MB 정도의 json string을 request parameter로 넘기니 ERR_CONTENT_LENGTH_MISMATCH(400) 에러 발생
2. 해결방법
1) nginx
nginx 설정 파일을 아래처럼 수정.
location / {
uwsgi_pass [경로]
include uwsgi_params;
uwsgi_buffering off;
}
일반 proxy(proxy_pass)를 사용한다면 proxy_buffering off;
모든 포트의 location /마다 추가해야 한다.
2) django
settings.py에 아래 줄을 추가 혹은 수정.
(django 홈페이지에 따르면 기본값은 2.5MB)
DATA_UPLOAD_MAX_MEMORY_SIZE = [원하는 값(Bytes)]
수정 후 nginx와 uwsgi를 재시작한다.