今天早上我启动了我的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/
时,它告诉我该页面不可用。
发生了什么事?
答案 0 :(得分:2)
您的浏览器很可能会缓存HTTP 301/302响应,该响应会将您的HTTP请求重定向到HTTPS。清除浏览器缓存或尝试其他浏览器来测试是否是这种情况。
答案 1 :(得分:0)
根据documentation,你应该禁用django-sslify进行本地开发和单元测试。放入settings.py
:
if DEBUG:
SSLIFY_DISABLE = True