Я настраиваю страницы ошибок на сайте django в dev. Я получаю сообщение об ошибке с хорошим кодом состояния, но при производстве код 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;