2014-02-07 31 views
3

我工作在基于Django的应用程序,我想知道是否有办法知道我的服务器是否使用http连接或https。如何知道如果服务器是安全的使用Django(使用https)

我知道,使用

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

我可以得到主机名,是有可能做这样的事情,所以我可以知道,如果主机使用SSL证书?

PD:我是一名新手,所以我要求看看是否有可能,如果是,我该怎么做。 由于

回答

3
+1

只是一个问题。 settings.py会如何? – Sascuash

+1

不是。默认情况下,它会检查服务器环境('os.environ')以查看'https'是否为方案https://github.com/django/django/blob/master/django/http/request.py#L137,它看起来像您可以通过在您的设置中定义SECURE_PROXY_SSL_HEADER来定义安全标头。 https://docs.djangoproject.com/en/1.4/ref/settings/#secure-proxy-ssl-header – dm03514

3

目前根本请求对象上的is_secure()方法,返回真,如果连接是安全的。

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

+0

这似乎更像我在找什么。 settings.py会如何? – Sascuash

+0

你使用什么服务器(nginx,apache)? –

+0

nginx。同样的问题在这里(关于settings.py) – chefarov

相关问题