Nginx и Django/Wagtail : Проверка происхождения не удалась - null не соответствует ни одному доверенному происхождению
Когда я пытаюсь войти на свою страницу администратора в wagtail, я получаю эту ошибку.
В моем settings.py есть такая строка :
CSRF_TRUSTED_ORIGINS = ["http://localhost","http://domain","http://server_ip","https://localhost","https://domain","https://server_ip"]
.
Где server_ip
- мой ip и domain
- мой домен.
Однако сообщение об ошибке может быть связано с nginx: origin не присутствует в запросе, так как django находит null
в качестве origin.
У меня есть обратный_прокси, установленный в nginx следующим образом:
location /api {
proxy_pass http://backend:8000/api;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 20M;
}
Что я могу добавить, чтобы django нашел правильный источник происхождения?
Ответ здесь: нужна специальная конфигурация nginx https://github.com/paperless-ngx/paperless-ngx/issues/817
location / {
proxy_pass http://10.0.0.1:8000;
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;
add_header P3P 'CP=""';
}