【问题标题】:How to implement Https(SSL Middleware) in Django如何在 Django 中实现 Https(SSL 中间件)
【发布时间】:2011-09-27 08:21:38
【问题描述】:
我是 Django 和 Web 开发的新手。我要实施
Exactly this Question,但在 django 中。我已经搜索了很多博客和问题,我无法找到,确切地说是如何实现这一点。 SSL Middleware Django,是我不能很好掌握的东西。如果这是解决方案,谁能告诉我如何实现它?
问题清楚了吗?还是我需要添加一些东西,请评论我会做出必要的改变。任何帮助将不胜感激。提前致谢。
P.S:我已经在服务器上添加了 ssl 证书。这样就解决了。
【问题讨论】:
标签:
django
ssl
django-middleware
【解决方案2】:
如果使用 HTTP,这里是一个重定向到 SSL 站点的示例中间件:
from django.http import HttpRequest
from django.shortcuts import redirect
#Require SSL com only. If we get anything else, redirect to https /
class RequireSSL(object):
def process_request(self, request):
assert isinstance( request, HttpRequest )
if not request.is_secure():
return redirect( 'https://%s/' % request.get_host() )
然后在你的 settings.py 里面:
MIDDLEWARE_CLASSES = [
'website.middleware.require_ssl.RequireSSL',
...
]