如果服务器安全,如何知道使用Django(使用https)

时间:2014-02-07 16:13:26

标签: python django ssl https ssl-certificate

我在基于Django的应用程序上工作,我想知道是否有办法知道我的服务器是使用http连接还是https。

我知道使用

import socket
if socket.gethostname().startswith('****'):

我可以获取主机名,是否可以执行类似的操作以便我可以了解主机是否使用ssl证书?

PD:我是新手,所以我要问看是否可能,如果是的话,我应该怎么做。 感谢

3 个答案:

答案 0 :(得分:7)

完全有可能:

def some_request_function(request):
    if request.is_secure():
        #You are safe!
    else:
        #You are NOT safe!

更多细节: https://docs.djangoproject.com/en/2.0/ref/request-response/#django.http.HttpRequest.is_secure

答案 1 :(得分:3)

答案 2 :(得分:3)

请求对象上只有一个is_secure()方法,如果连接是安全的,则返回True。

根据您的特定服务器配置,您可能还需要在设置中设置SECURE_PROXY_SSL_HEADER