![](/img/trans.png)
[英]Redirect http to https with nginx instead of using django-sslify?
[英]unable to view local server after installing django-sslify
今天早上,我启动了Django开发服务器,并通过localhost:8000
对其进行了访问,并根据需要加载了所有内容。 有时,当我通过单击终端中的地址通过终端访问站点时: Starting development server at http://127.0.0.1:8000/
它也可以正常工作。
我停止了服务器,并用pip install django-sslify
来安装它 。 我添加了中间件:
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/
它告诉我该页面不可用。
发生了什么?
您的浏览器最有可能缓存了HTTP 301/302响应,该响应将HTTP请求重定向到HTTPS。 清除浏览器缓存或尝试使用其他浏览器进行测试。
根据文档,您应该为本地开发和单元测试禁用django-sslify。 输入您的settings.py
:
if DEBUG:
SSLIFY_DISABLE = True
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.