Всякий раз, когда я пытаюсь войти в приложение администратора Django, после заполнения имени пользователя и пароля и отправки формы, страница зависает навсегда.Администратор Django - проверка CSRF не удалась. Request aborted
Когда я обновить запрос POST в браузере, я получаю:
CSRF verification failed. Request aborted.
Когда я снова обновите страницу, все работает, я вижу администратора приложения, я вошел в систему и я может выполнять операции CRUD в моих приложениях и таблицах.
Любые идеи, почему?
У меня есть обратный прокси Nginx перед приложением Django, выполняющим https рукопожатие. Поэтому, когда вы идете (например):
https://platform.staging.com/admin/
Nginx обратного прокси, что
http://admin1.staging.platform.com/admin/
Это мой Nginx конфигурации:
upstream admin-cluster {
ip_hash;
server admin1.staging.platform.com;
}
# force redirect of http to https
# application will be available only over https
server {
listen 80 default;
server_name platform.staging.com;
rewrite ^https://$server_name$request_uri? permanent;
}
# https server
# traffic is going to local web servers over normal http
# front nginx proxy server will hold ssl session
server {
listen 443 ssl spdy;
server_name platform.staging.com;
keepalive_timeout 70;
ssl on;
ssl_certificate /etc/ssl/platform.staging.com.crt;
ssl_certificate_key /etc/ssl/platform.staging.com.key;
location /admin {
proxy_pass http://admin-cluster;
}
}
EDIT:
Итак, я нашел обходное решение. Когда я позволяю также порт 80 на моем Nginx обратный прокси-сервер, но перенаправить все запросы HTTP к HTTPS, как это:
server {
listen 80 default;
server_name platform.staging.com;
rewrite ^https://$server_name$request_uri? permanent;
}
Это устранило проблему. Любая идея почему?
См. Редактирование в конце моего вопроса для обходного пути, который я реализовал на данный момент. –