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

使用Burp Suite代理拦截请求时Firebase网站加载异常问题求助

报错关联信息

IMAGE-WITH-ERROR

控制台输出的核心错误日志:

@firebase/firestore: Firestore (7.24.0): Could not reach Cloud Firestore backend. Backend didn't respond within 10 seconds.
该报错触发后Firebase客户端会直接切换到离线模式,无法拉取后端文档数据。
FirebaseError: [code=unavailable]: Failed to get document because the client is offline.

问题核心成因

这类报错和站点本身逻辑无关,是Burp Suite的默认代理配置和Firebase Firestore的长连接机制存在兼容性冲突,常见触发场景包括:TLS证书校验不通过、长连接请求被拦截挂起、响应缓冲导致连接超时、强制协议降级破坏原有TLS握手。

落地解决步骤
  • 配置拦截排除规则,不对Firebase核心域名流量做强制拦截
    进入Burp的Proxy → Intercept → Intercept Client Requests设置页,添加匹配*.googleapis.com下Firebase相关服务域名(含firestore.googleapis.com、firebaseinstallations.googleapis.com)的排除规则,避免这类长连接请求被手动拦截悬停,触发10秒的连接超时阈值。
  • 配置正确的TLS信任环境,关闭破坏性连接改造选项
    确认已将Burp的CA证书导入到浏览器、测试设备的受信任根证书颁发机构列表中,同时在代理设置中关闭以下会破坏原有连接的功能:
    • 强制将HTTP/2协议降级为HTTP/1.1
    • 主动剥离TLS扩展字段
    • 强制篡改TLS握手参数
  • 关闭响应缓冲功能
    进入Proxy → Options的杂项设置板块,取消勾选响应消息缓冲选项。该功能开启后,Burp会把接口的流式返回数据全部缓存完成后再转发给客户端,会直接截断Firebase的实时同步长连接,触发超时判定。
  • 临时调整Firebase连接模式提升代理兼容性
    如果不需要对Firebase的实时同步流量做深度拦截,可以在Firestore初始化时添加强制长轮询配置,将原生WebSocket长连接替换为Burp兼容性更好的长轮询模式:
    const db = initializeFirestore(app, {
      experimentalForceLongPolling: true
    });
    
  • 校验出站连接规则
    检查Burp的User options → Network配置,确认没有将.googleapis.com域名强制路由到错误的上游代理节点,也没有开启未知TLS证书硬阻断规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 21:06:05