我正在尝试通过 SSL 加密我的整个网站。但是,我没有找到使用 Django 1.4 执行此操作的明确方法。有谁知道解决方案?
问问题
3830 次
2 回答
6
您可以使用django-secure中提供的中间件,也可以通过将所有 HTTP 请求重定向到 HTTPS 在 Apache/Nginx/HAProxy 级别处理此问题。
于 2012-08-03T18:54:11.790 回答
3
在 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(必读):
于 2013-11-19T12:15:43.527 回答