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

Firebase Hosting重定向到Cloud Run时Django后台登录失效问题

问题根因

你遇到的问题本质是Firebase Hosting作为反向代理转发请求到Cloud Run时,Django默认没有读取代理携带的原始请求域名头,导致Session、CSRF校验以及Cookie的Domain属性配置和实际用户访问的域名不匹配。

排查步骤
  • 新增临时测试接口打印request.META中的请求头信息,确认Firebase转发时是否携带了X-Forwarded-Host(值为你的自定义域名)、X-Forwarded-Proto(值为https)两个头
  • 提交登录后查看浏览器控制台的网络面板,检查登录接口响应的Set-Cookie字段的Domain属性,以及登录完成后的重定向目标域名是否正确
修复方案

在settings.py中添加以下配置:

# 信任反向代理传递的原始Host头,读取用户实际访问的域名而不是Cloud Run的域名
USE_X_FORWARDED_HOST = True
# 信任反向代理传递的协议头,确认请求是HTTPS协议,匹配你开启的Secure Cookie配置
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")

如果你的生产环境仅允许通过自定义域名访问,不需要直接访问Cloud Run端点,可以保留以下配置,否则请删除SESSION_COOKIE_DOMAIN的硬编码配置,让Django自动根据请求的Host生成对应的Cookie Domain:

SESSION_COOKIE_DOMAIN = ".<your-domain>.com"
CSRF_COOKIE_DOMAIN = ".<your-domain>.com"

配置完成后重新部署Cloud Run服务即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:21:02