如何使用Djangonginx部署仅HTTPS站点?

如何使用Djangonginx部署仅HTTPS站点?,第1张

如何使用Django / nginx部署仅HTTPS站点?

对于John C的答案的第二部分,以及Django 1.4 + …

你可以将更

request.scheme
改为,而不是扩展HttpResponseRedirect
https
。因为Django在Nginx的反向代理后面,所以它不知道原始请求是安全的。

在你的Django设置中,设置SECURE_PROXY_SSL_HEADER设置:

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

然后,你需要Nginx在反向代理中设置自定义标头。在Nginx网站设置中:

location / {    # ...     proxy_set_header X-Forwarded-Proto $scheme;}

这样request.scheme == ‘https’并request.is_secure()返回True。 request.build_absolute_uri()返回https://…等等



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5021686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存