安装django-sslify后无法查看本地服务器

时间:2016-02-19 11:25:13

标签: python django

今天早上我启动了我的Django开发服务器并通过localhost:8000访问它,并根据需要加载了所有内容。有时,当我通过终端点击终端中的地址访问网站时,Starting development server at http://127.0.0.1:8000/也可以正常工作。

我停止了服务器,并pip install django-sslify安装了this。我添加了中间件:

MIDDLEWARE_CLASSES = (
    'sslify.middleware.SSLifyMiddleware',
    # ...
)

并为Heroku添加了这一行:

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

我运行了开发服务器并尝试使用上述两个链接访问该网站,但页面无法加载。我惊慌失措并最终删除了我添加的所有行和pip uninstall django-sslify并重新运行了服务器。我仍然无法通过上述链接访问该网站,但我可以通过0.0.0.0:8000访问该网站。

然后我重新安装了django-sslify,添加了代码并重新运行服务器试图通过0.0.0.0:8000访问它。没有骰子。

现在,我已经再次卸载它,当我通过https://localhost:8000/访问它时,它在控制台中给出了SSL连接错误和消息:

code 400, message Bad HTTP/0.9 request type ('\x16\x03\x01\x00\x9d\x01\x00\x00\x99\x03\x01\xef\xb5\xae\xf6\xddUOY\x8d\x8a\xce\x9e!\x983\xbd\xfc4$\xb4')
You're accessing the development server over HTTPS, but it only supports HTTP.

当我尝试访问http://localhost:8000/时,它告诉我该页面不可用。

发生了什么事?

2 个答案:

答案 0 :(得分:2)

您的浏览器很可能会缓存HTTP 301/302响应,该响应会将您的HTTP请求重定向到HTTPS。清除浏览器缓存或尝试其他浏览器来测试是否是这种情况。

答案 1 :(得分:0)

根据documentation,你应该禁用django-sslify进行本地开发和单元测试。放入settings.py

if DEBUG:
    SSLIFY_DISABLE = True