【发布时间】:2012-08-01 20:21:31
【问题描述】:
我正在尝试通过 SSL 加密我的整个网站。但是,我没有找到使用 Django 1.4 执行此操作的明确方法。有谁知道解决办法吗?
【问题讨论】:
标签: django encryption ssl https
我正在尝试通过 SSL 加密我的整个网站。但是,我没有找到使用 Django 1.4 执行此操作的明确方法。有谁知道解决办法吗?
【问题讨论】:
标签: django encryption ssl https
在 apache+django (1.6) 上,这可以通过多种方式完成,但可以在 .htaccess 或 httpd.conf 文件中完成的一种简单方式是:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URL}
这里有一个链接以获取更多信息:
http://wiki.apache.org/httpd/RewriteHTTPToHTTPS
为确保会话和 csrf cookie 不会被客户端通过普通的 http 连接泄露,您应该确保它们被设置为“安全 cookie”并且仅由客户端通过 https 发送。这可以在您的 settings.py 文件中按如下方式完成:
CSRF_COOKIE_SECURE = True
SESSION_COOKIE_SECURE = True
django 安全性介绍,包括 SSL/HTTPS(必读):
【讨论】:
您可以使用诸如 django-secure 中提供的中间件,或者您可以通过将所有 HTTP 请求重定向到 HTTPS 在 Apache/Nginx/HAProxy 级别处理此问题。
【讨论】: