【发布时间】:2016-09-29 02:16:34
【问题描述】:
我正在尝试使用 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 传入的请求。
如果其中任何一个不正确,您应该将此设置设置为无 并找到另一种确定 HTTPS 的方法,可能是通过自定义 中间件。
当我使用 heroku 时,是否满足所有这些条件?我应该继续吗?
【问题讨论】:
标签: django http ssl heroku django-settings