如何阻止HTTP自动跳转至HTTPS?Django开发服务器重定向异常求助
解决Django开发服务器HTTPS重定向错误问题
你遇到的问题是仅单个重定向按钮触发HTTPS错误,已设置SECURE_SSL_REDIRECT = False仍无效,大概率是该按钮对应的跳转逻辑存在局部强制HTTPS的配置,以下是具体解决步骤:


- 检查目标视图的装饰器:查看出问题的按钮对应的视图函数,是否使用了
@require_secure这类强制HTTPS访问的装饰器,开发环境下直接注释该装饰器即可。 - 修正跳转URL的写法:不要在模板或视图里硬编码
https://开头的绝对链接,改用Django的URL生成工具。模板中用{% url '你的视图名称' %},视图里用reverse('你的视图名称')生成相对路径的URL,避免强制HTTPS跳转。 - 完善SSL相关配置:除了
SECURE_SSL_REDIRECT = False,需同步将SESSION_COOKIE_SECURE和CSRF_COOKIE_SECURE设置为False,这两个参数会让浏览器强制使用HTTPS传递Cookie,进而触发跳转错误。 - 清除浏览器缓存:浏览器可能缓存了旧的HTTPS跳转规则,清空缓存和Cookie后重新测试页面。
- 排查中间件配置:查看settings.py的
MIDDLEWARE列表,是否存在强制SSL的第三方中间件,暂时注释该中间件后验证问题是否解决。
内容的提问来源于stack exchange,提问作者ColinHarwood
相关产品推荐
相关产品推荐

