我尝试使用django-sslify和django-secure将所有http请求重定向到https,但我无法让它工作。使用nginx重定向它们是否是一种有效的解决方案,如下所示:link 或者,也许有人可以解释一下,我的配置现在有什么问题: 在我添加“proxy_set_header Host $ host;”之前到第二个服务器块它很好地重定向,但表单不起作用,因为csrf保护引发了引用错误。
server {
listen 80;
server_name domain.com;
location /static {
alias /home/adrian/sites/www.domain.com/static;
}
location / {
proxy_set_header Host $host;
proxy_pass http://unix:/tmp/www.domain.com.socket;
}
}
server {
listen 200.200.200.200:443;
server_name domain.com;
location /static {
alias /home/adrian/sites/www.domain.com/static;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://unix:/tmp/www.domain.com.de.socket;
}
ssl on;
ssl_certificate /etc/nginx/ssl/ssl.crt;
ssl_certificate_key /etc/nginx/ssl/domain.com.de.key;
ssl_prefer_server_ciphers on;
}
答案 0 :(得分:0)
好的,没关系。 Django-sslify由于某种原因没有工作,所以我用
重试了django-secureproxy_set_header Host $host;
设置它确实像魅力一样工作。但我真的很想听,如果用nginx重定向会更好或更有效,我会接受这个答案。感谢。