【问题标题】: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


    【解决方案1】:

    您只需将中间件类添加到您的 settings.py 中的中间件列表中,然后按照 sn-p 中的说明按照您的视图进行操作。 Here's the documentation guide to 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',
          ...
      ]
      

      【讨论】:

        猜你喜欢
        • 2012-10-13
        • 1970-01-01
        • 2014-06-11
        • 2012-10-21
        • 1970-01-01
        • 2017-10-22
        • 1970-01-01
        • 1970-01-01
        • 2015-10-08
        相关资源
        最近更新 更多