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

Django SSL重定向导致Chrome本地开发连接异常

Django本地开发Chrome无法访问问题解决

问题现象

在settings.py中设置SECURE_SSL_REDIRECT默认值为True,本地开发环境变量设为False,重启服务器和Chrome后,无法通过localhost访问网站,报错:

You're accessing the development server over HTTPS, but it only supports HTTP.
[21/Nov/2024 11:28:50] code 400, message Bad request syntax ('\x16\x03\x01\x02\x00\x01\x00\x01ü\x03\x03èª\x19óÆð?ë-\x99âÆH\x13V\x08{zm')

Chrome无痕模式及其他浏览器可正常访问,仅当前Chrome普通模式异常。

已确认的配置情况

settings.py核心配置:

SECRET_KEY = env.str("SECRET_KEY")
SECURE_SSL_REDIRECT = env.bool("DJANGO_SECURE_SSL_REDIRECT", default=True)

SECURE_HSTS_SECONDS = env.int("DJANGO_SECURE_HSTS_SECONDS", default=2592000)
SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool("DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS", default=True)
SECURE_HSTS_PRELOAD = env.bool("DJANGO_SECURE_HSTS_PRELOAD", default=True)

SESSION_COOKIE_SECURE = env.bool("DJANGO_SESSION_COOKIE_SECURE", default=True)
CSRF_COOKIE_SECURE = env.bool("DJANGO_CSRF_COOKIE_SECURE", default=True)

本地环境变量配置:

DEBUG=True
SECRET_KEY=bTU5cQLjBGapg3d......mrVglq1CEhbk
DJANGO_SECURE_SSL_REDIRECT=False

DJANGO_SECURE_HSTS_SECONDS=0
DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS=False
DJANGO_SECURE_HSTS_PRELOAD=False

DJANGO_SESSION_COOKIE_SECURE=False
DJANGO_CSRF_COOKIE_SECURE=False

已确认Django能正确读取.env变量,运行--deploy命令输出的安全警告符合本地配置预期。

解决方案

1. 清除Chrome的HSTS缓存

Chrome会缓存HSTS策略,即使后端已关闭HSTS,浏览器仍会强制使用HTTPS:

  • 打开Chrome,输入地址chrome://net-internals/#hsts
  • 在「Delete domain security policies」输入框中输入localhost,点击Delete
  • 重复操作,删除127.0.0.1的安全策略
  • 完全关闭Chrome(包括后台进程)后重新打开

2. 验证Django配置是否生效

在任意视图中添加调试代码,确认配置值正确加载:

from django.conf import settings
from django.http import HttpResponse

def debug_config(request):
    return HttpResponse(f"""
    SECURE_SSL_REDIRECT: {settings.SECURE_SSL_REDIRECT}<br>
    SECURE_HSTS_SECONDS: {settings.SECURE_HSTS_SECONDS}
    """)

访问该视图,确认输出为SECURE_SSL_REDIRECT: False和SECURE_HSTS_SECONDS: 0。

3. 临时启用本地HTTP访问允许

如果上述操作后仍有问题,可临时开启Chrome的本地不安全访问允许:

  • 输入地址chrome://flags/#allow-insecure-localhost
  • 将「Allow invalid certificates for resources loaded from localhost」设置为Enabled
  • 重启Chrome

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 01:00:15