【问题标题】:unable to view local server after installing django-sslify安装 django-sslify 后无法查看本地服务器
【发布时间】:2016-02-19 11:25:12
【问题描述】:

今天早上我启动了我的 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/ 时,它告诉我该页面不可用。

发生了什么?

【问题讨论】:

  • 好的,它现在在本地工作。知道如何解决django-sslify 问题吗?
  • 或者我应该打开另一个问题?
  • 我已经把它整理好了。由于您的评论回答了问题中的实际标题,您能否将其发布为答案,以便我可以将这种可怕的折磨抛在脑后?

标签: python django


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    根据documentation,您应该为本地开发和单元测试禁用 django-sslify。输入你的settings.py:

    if DEBUG:
        SSLIFY_DISABLE = True
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-24
      • 2023-02-09
      • 2022-06-27
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 2022-07-02
      相关资源
      最近更新 更多