개발자의 django 사이트에서 오류 페이지를 설정 중입니다. 좋은 상태 코드와 함께 오류가 발생하지만 프로덕션에서는 HTTP 응답 코드가 일치하지 않고 404에서 200 응답을 받습니다. nginx가 Django 404를 렌더링한다고 가정합니다. 200이지만 nginx 측에서 404 오류 응답을 올바르게 정의하는 방법을 모르겠습니다.
장고:
#views :
from django.shortcuts import render
def handler404(request):
return render(request,'public/404.html', status=404)
#urls.py:
...
handler404 = 'public.views.404.handler404'
엔진엑스:
server {
listen 80;
server_name www.myproject.fr;
location / {
include proxy_params;
proxy_pass http://unix:/root/myproject/myproject.sock;
}
}
편집 : Proxy_params :
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;