Я настраиваю страницы ошибок на сайте Django в dev. Я получаю ошибку с хорошим кодом статуса, но в production код HTTP-ответов не совпадает, я получаю ответ 200 на 404. Я предполагаю, что Nginx отображает Django 404 как 200, но я не знаю, как правильно определить ответ об ошибке 404 на стороне Nginx.
Джанго:
#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;
}
}
Редактировать: 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;