2014-02-07 61 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

相關問題