Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django request.is_secure为重定向的方法返回错误的值_Django_Redirect_Ssl - Fatal编程技术网

Django request.is_secure为重定向的方法返回错误的值

Django request.is_secure为重定向的方法返回错误的值,django,redirect,ssl,Django,Redirect,Ssl,我正在尝试为django应用程序编写ssl重定向实用程序(https://bitbucket.org/yilmazhuseyin/django-sslredirector). 我的问题是,当我将页面从http重定向到https时,我无法理解我处于安全连接状态(当我调用request.is_secure时,它返回false)。我想这里面有一个黑客,不知怎的叫做webpartion,我真的不知道它是怎么工作的。以下是WebPosition案例的is_安全方法 def _is_secure(se

我正在尝试为django应用程序编写ssl重定向实用程序(https://bitbucket.org/yilmazhuseyin/django-sslredirector). 我的问题是,当我将页面从http重定向到https时,我无法理解我处于安全连接状态(当我调用request.is_secure时,它返回false)。我想这里面有一个黑客,不知怎的叫做webpartion,我真的不知道它是怎么工作的。以下是WebPosition案例的is_安全方法

   def _is_secure(self, request):
        if request.is_secure():
        return True

        #Handle the Webfaction case until this gets resolved in the request.is_secure()
        if 'HTTP_X_FORWARDED_SSL' in request.META:
        return request.META['HTTP_X_FORWARDED_SSL'] == 'on'
我的问题是,当我将我的页面从http重定向到https时,request.is_secure方法仍然返回false(尽管我使用https,但事件仍然返回false),并且我不断地将页面重定向到https。 是否有任何方法可以理解我是否只是从https重定向


我能找到的最好的来源是这个,它对我不起作用

如果您的流量通过某种代理,那么您使用SSL的事实可能会被隐藏。但是,代理通常会设置某种HTTP头(或者您可以将其配置为这样做)。一个选项是HTTP\U X\U转发\U SSL。如果您使用的是https,Heroku会将HTTP_X_FORWARDED_PROTO设置为https。

我可以确认这是Heroku的解决方案