Web浏览器在使用然后删除django-secure后强制使用https

时间:2014-06-14 15:42:17

标签: django security browser https

(使用Windows 7,Python 3.4和Django 1.6,使用virtualenv)

嘿,大家好。我尝试使用django-secure强制我的django项目上的https和ssl。然后我决定在实际将网站放到网上之前我不想要它,因为我没有安全证书,所以我甚至无法在我的计算机上试用该网站。从我的设置中删除django-secure代码,使用pip卸载django-secure,然后重新启动我的计算机,我使用django-secure强制https每次运行该特定django项目时访问该页面的任何浏览器,而不是其他项目。卸载和重新安装适用于Safari和Firefox,但不适用于Chrome。我无法使用控制面板卸载Internet Explorer或Opera,因此我认为如果我知道如何更改浏览器中的某些设置可能会更容易。有谁知道我怎么能让Chrome不在我的项目上强制使用https以及如何在不卸载它的情况下使用Opera和IE?

我认为上述细节可能会找到答案,但如果你想要,我的详细描述是按照以什么顺序进行的:

我按照https://github.com/carljm/django-secure上的安装和使用说明进行操作,直至“将SECURE_HSTS_SECONDS设置为整数秒,并将SECURE_HSTS_INCLUDE_SUBDOMAINS设置为True,如果您要使用HTTP严格传输安全性”。然后我在chrome上试了一下,发现我需要一个安全证书,并且我决定等到我真正把网站放到网上。所以我删除了我在django-secure指令后添加的设置文件的部分,停止并重新启动了我的本地服务器,在chrome上打开它,发现它强制使用https,但仅限于特定的django项目。然后我使用pip卸载django-secure,但chrome仍然强制https。我在firefox上试过它,即歌剧和野生动物园,没有问题。然后我重新启动了我的电脑,但这并没有解决问题。所以我使用pip重新安装了django-secure,并重复了我从django-secure指令中遵循的步骤。然后我在safari上运行它,即从设置中删除这些行,然后重新启动它们,然后他们继续强制执行该django项目的https。我用Opera和Firefox重复了这个过程,并遇到了同样的问题。卸载并重新安装Safari和Firefox修复了这些浏览器中的问题。它没有解决Chrome中的问题。我无法从控制面板上卸载Opera或IE,所以我想我会等到找到解决问题的另一种方法。

1 个答案:

答案 0 :(得分:2)

清除浏览器缓存。

Django-secure向页面的安全版本发送HttpResponsePermanentRedirect(302状态代码),因此您的浏览器将缓存响应并始终将您重定向到https版本。