网站的其余部分正在运行,但登录后的重定向是
http ://127.0.0.1:8443/after_login
不是预期的
https://127.0.0.1:8443/after_login
会导致nginx错误:
400 Bad Request 普通HTTP请求已发送到HTTPS端口
如何强制重定向链接正确构建?
环境信息:
django 1.4.1
settings.py
LOGIN_REDIRECT_URL = reverse_lazy('after_login')
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https')
答案 0 :(得分:1)
直到我将proxy_set_header X-Forwarded-Proto $scheme
添加到nginx的配置中之后才发生这种情况:
location / {
proxy_pass http://unix:/path/to/your/gunicorn_socket;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}