我使用 Django 创建了一个网站,其中一个要求是它必须使用 HTTPS 协议。
我已经使用 Apache 将它部署在 VPS 中,没有任何问题。
您建议我使用哪些文档/提示/片段来实现这一目标?
我使用 Django 创建了一个网站,其中一个要求是它必须使用 HTTPS 协议。
我已经使用 Apache 将它部署在 VPS 中,没有任何问题。
您建议我使用哪些文档/提示/片段来实现这一目标?
如前所述,你不需要为 Django 做任何特别的事情来使用 SSL。如果你想强制执行 SSL,你可以通过检查request.is_secure()
方法来验证对给定视图的传入请求是否通过 SSL(我过去曾使用它来制作一个简单的require_ssl
装饰器)。
正如 Anurag 所说,这是与 apache 相关的,您可以在 httpd.conf 或类似配置文件中尝试类似的操作(需要 mod_rewrite 以及正确安装的证书):
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
HTTPS/SSL 与 django 无关,您必须使用 mod_ssl 正确设置 apache 配置参见
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html
并浏览此类文章