You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django开发服务器400错误:HTTPS访问仅支持HTTP的服务

解决Django开发服务器400错误(Bad request version + HTTPS跳转问题)

不需要删除Docker,问题根源是浏览器强制跳转到HTTPS,但Django开发服务器仅支持HTTP,以下是具体排查和解决步骤:

1. 检查Django项目的安全配置

打开src/settings.py,查找以下配置项,开发环境下必须设为False:

SECURE_SSL_REDIRECT = False  # 若之前设为True,改回False
SESSION_COOKIE_SECURE = False
CSRF_COOKIE_SECURE = False
SECURE_HSTS_SECONDS = 0  # 若设置了HSTS时长,改为0
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False

修改后重启开发服务器:python manage.py runserver

2. 清除浏览器的HSTS缓存

即使修改了Django配置,浏览器可能已缓存HSTS(HTTP严格传输安全)规则,强制用HTTPS访问localhost或127.0.0.1:

  • Chrome/Edge:地址栏输入chrome://net-internals/#hsts(Edge为edge://net-internals/#hsts),找到「Delete domain security policies」,分别输入localhost和127.0.0.1执行删除。
  • Firefox:地址栏输入about:config,搜索network.stricttransportsecurity.preloadlist,设为false;或打开设置→隐私与安全→清除数据,勾选「站点设置」完成清除。

3. 用无痕模式快速验证

如果不想清除全局缓存,可先打开浏览器无痕/隐私窗口访问http://127.0.0.1:8000/,若能正常访问,即可确认是浏览器缓存导致的问题。

4. Docker相关说明

无需删除Docker,之前的Docker配置可能曾启用HTTPS,导致浏览器缓存HSTS规则,但只要清除缓存并调整Django开发环境配置,就能恢复正常。后续若要在Docker中部署HTTPS,属于生产环境配置,开发环境仍使用HTTP即可。

内容的提问来源于stack exchange,提问作者atabekdemurtaza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 20:42:37