【发布时间】:2014-12-13 15:24:55
【问题描述】:
简介
Cloudflare's providing SSL for free 现在,如果我不在我的网站上利用这一点,我将是一个傻瓜,而一个彻头彻尾的白痴会在尝试的过程中破坏一切。
我可以很好地编写应用程序,但在设置或配置 https/nginx/gunicorn/etc/idon'tknowtheterminology 时,我知道的很少,无法按照 Google 搜索的说明进行操作。
问题
我想使用 django-sslify 在我的 Django Web 应用程序上强制使用 https。鉴于以下已知事实,我如何才能在不破坏我生活平衡的情况下实现这一?
已知事实
- 我正在使用 Django 1.7,在连接的 DigitalOcean 服务器上运行 到(免费)Cloudflare DNS。 Django 安装(服务?) nginx 和独角兽。基本上按照this guide 进行设置。
- 目前访问我的网站默认使用常规的http://example.com 标头。
- 手动访问https://example.com 适用于 绿色锁和所有,但这会破坏所有表单提交 错误“(403) CSRF 验证失败。请求中止。”。
- 在我的 Cloudflare 站点设置中,域当前配置为“灵活 SSL”。
- 尝试在我现有的设置中使用 django-sslify 会完全破坏一切,并且浏览器无法返回响应。
- This info nugget 告诉我,在将 django-sslify 与 Cloudflare 的 SSL 结合使用时,我应该使用“完整 SSL”配置设置。
- 犹豫的原因找到了here,其中提到需要一个 20 美元/月的 Pro Cloudflare 帐户来处理 SSL 终止。所以我真的不想搞砸了:/
- 在我的 nginx 和 gunicorn 配置中,特别是在我的 nginx 配置中,只有 1 处提到了“http”或“https”:
location / {proxy_pass http://127.0.0.1:8001; ... }
好吧,我想这就是我所拥有的一切
另外,我的服务器正在为 Phonegap 应用程序提供 Django Rest Framework api,是否需要考虑到这一点?如果我需要提供其他信息,请告诉我,我会尽快回复您。谢谢你看看这个! :)
【问题讨论】:
标签: django nginx https cloudflare django-sslify