如果我将 nginx 设置为通过 https 服务站点的反向代理,设置 SECURE_SSL_REDIRECT=False
是否安全?
如果将其设置为 False
,我可以通过 SSL 访问该站点,如果它是 True
,我会收到太多重定向响应。
注意:nginx 和 django 在 docker 容器中运行。
我的 nginx.conf 看起来像:
upstream config {
server web:8000;
}
server {
listen 80;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name _;
ssl_certificate /etc/ssl/certs/cert.com.chained.crt;
ssl_certificate_key /etc/ssl/certs/cert.com.key;
location / {
proxy_pass http://config;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
location /staticfiles/ {
alias /home/app/web/staticfiles/;
}
}
编辑:在 nginx.conf 中添加了 http 到 https 重定向。
最佳答案
您需要将以下内容添加到“location/” block 中:
location / {
...
proxy_set_header X-Forwarded-Proto $scheme;
...
}
关于python - 带有 nginx 反向代理的 django SECURE_SSL_REDIRECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61506513/