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

Django DRF部署Heroku后浏览器无法设置Cookie但Postman运行正常求助

问题修复方案
  • 修正ALLOWED_HOSTS配置
    现有配置中填写了带http前缀的地址,不符合Django配置规则,仅需填写域名或IP即可,修改为:
    ALLOWED_HOSTS = ['127.0.0.1','xxxxxxx.herokuapp.com']
    
  • 调整Cookie属性适配Heroku HTTPS环境
    Heroku默认提供HTTPS访问,跨站场景下Cookie需要满足以下要求才能被浏览器正常存储:
    1. 将AUTH_COOKIE_SECURE设置为True,仅在HTTPS请求下携带Cookie
    2. 将AUTH_COOKIE_SAMESITE设置为None,允许跨站请求携带Cookie,注意该配置必须和Secure=True配合使用,否则浏览器会直接拒收Cookie
  • 新增反向代理SSL识别配置
    Heroku使用反向代理转发请求,Django默认无法识别原始请求的HTTPS协议,需要新增配置让Django正确识别协议类型,避免Cookie属性设置错误:
    SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
    
  • 检查前端请求配置
    前端发送跨域请求时必须开启凭证携带配置,否则浏览器会直接忽略响应中的Set-Cookie头:
    • 若使用axios:添加配置项withCredentials: true
    • 若使用原生fetch:添加配置项credentials: 'include'

补充说明:Postman测试正常是因为Postman不会强制执行浏览器的跨站Cookie安全校验规则,所以二者表现不一致属于正常现象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:27:04