django使用heroku设置变量SECURE_PROXY_SSL_HEADER

nex*_*doc 6 django ssl http heroku django-settings

我正在尝试使用heroku在django 1.8上设置与https/ssl相关的变量.但是在Django 1.8教程中,它说我应该小心设置这个变量,特别是"SECURE_PROXY_SSL_HEADER =('HTTP_X_FORWARDED_PROTO','https')"

在django 1.8教程中它说

警告

如果您在不知道自己在做什么的情况下进行设置,则可能会在您的网站中打开安全漏洞.如果你没有按时设置它.认真.

在设置之前确保满足以下所有条件(假设上面示例中的值):

  • 你的Django应用程序支持代理.
  • 您的代理从所有传入请求中剥离X-Forwarded-Proto标头.换句话说,如果最终用户在其请求中包含该标头,则代理将丢弃该标头.
  • 您的代理设置X-Forwarded-Proto标头并将其发送到Django,但仅限于最初通过HTTPS进入的请求.

如果其中任何一个不成立,您应该将此设置设置为None,并找到另一种确定HTTPS的方法,可能是通过自定义中间件.

当我使用heroku时,如果满足所有这些条件?我应该继续吗?

Amm*_*tar 5

是的 - 你应该没问题 - 请参阅heroku文档:https://devcenter.heroku.com/articles/http-routing#heroku-headers