因Zscaler导致Firestore加载文档失败,如何解决及需白名单哪些URL?
解决Zscaler拦截导致Firestore无法访问的问题
一、需额外添加白名单的URL
仅放行*.googleapis.com不足以覆盖Firestore的全部依赖,必须把以下域名加入Zscaler白名单:
*.firebaseio.com:Firestore实时数据同步及辅助API的核心域名*.google.com:身份验证、令牌签发等服务依赖该域名下的子域*.gstatic.com:Firestore客户端所需的静态资源(SDK脚本、根证书等)*.cloud.google.com:Firestore控制台及管理类API的关联域名firestore.googleapis.com:直接指定Firestore核心API域名,避免通配符规则遗漏
二、具体解决步骤
- 核对Zscaler规则配置
登录公司Zscaler管理后台,确认上述域名已被加入允许列表,同时检查是否有端口限制:Firestore仅用HTTPS(443端口),确保该端口未被拦截。 - 重置本地连接状态
- 若用Web端访问Firestore,清除浏览器缓存(
Ctrl+Shift+Del/Cmd+Shift+Del),避免旧会话残留的错误连接信息。 - 若为桌面端服务,重启应用并清除本地缓存目录,重置Firestore客户端的会话令牌。
- 若用Web端访问Firestore,清除浏览器缓存(
- 测试连通性
用命令行工具验证核心域名是否可访问,替换[你的项目ID]后执行:
若返回正常JSON响应,说明域名已放行;若出现超时/连接拒绝,需重新检查Zscaler规则。curl -v https://firestore.googleapis.com/v1/projects/[你的项目ID]/databases/(default)/documents - 请求IT团队调整策略
若自行配置权限受限,提交工单给公司IT,说明Firestore的业务需求,提供上述域名列表,重点要求排除这些域名的SSL拦截——Zscaler的中间人SSL检查会破坏Firestore的证书验证逻辑,这是触发"error loading documents"的常见原因。
三、其他注意事项
- 区域化域名:如果你的Firestore部署在特定区域(如
asia-southeast1),需额外放行[区域]-firestore.googleapis.com这类区域专属域名。 - SDK版本:确保使用最新版Firestore SDK,旧版本可能依赖已废弃的域名,增加连接失败概率。
- 日志排查:开启Firestore客户端的调试日志,查看具体错误(如DNS解析失败、SSL握手错误),能更精准定位Zscaler规则的问题。
内容的提问来源于stack exchange,提问作者Arjun P Nair
相关产品推荐
相关产品推荐

