Estou configurando páginas de erro em um site Django no dev. Recebo o erro com o código de status bom, mas na produção o código de respostas HTTP não corresponde, estou recebendo 200 respostas em 404. Presumo que o nginx esteja renderizando Django 404 como 200, mas não sei como definir corretamente a resposta de erro 404 no lado nginx
Django:
#views :
from django.shortcuts import render
def handler404(request):
return render(request,'public/404.html', status=404)
#urls.py:
...
handler404 = 'public.views.404.handler404'
Nginx:
server {
listen 80;
server_name www.myproject.fr;
location / {
include proxy_params;
proxy_pass http://unix:/root/myproject/myproject.sock;
}
}
Editar: 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;