Получение Forbidden (403) CSRF-проверка не удалась
Я использую Django, DRF, docker, Nginx и AWS EC2 instance для моего личного проекта, приложение работает нормально, когда оно использует HTTP, как только я перешел на HTTPS, я получаю CSRF Verification Failed.
использовали {% csrf_token %} там, где это требовалось в html-формах
в файле settings.py
CSRF_COOKIE_SECURE = True
CSRF_TRUSTED_ORIGINS = ['http://localhost/', 'example.co.in', 'www.example.co.in']
CORS_ORIGIN_WHITELIST = ['http://localhost/', 'example.co.in', 'www.example.co.in']
Пожалуйста, помогите мне решить эту проблему, спасибо всем
Вам нужно прописать "https://" в CSRF_TRUSTED_ORIGINS и CORS_ORIGIN_WHITELIST, у вас в настройках стоит "http://" и именно поэтому с http работает, а с https нет.
Иногда это происходит из-за конфигурации Nginx, пожалуйста, проверьте конфигурацию Nginx.
Если ваш Nginx содержит следующие атрибуты, особенно prxy_set_header, который настраивает заголовки для отправки из nginx на проксируемый хост.
location / {
proxy_pass http://IP:port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}