Firebase定时推送Pub/Sub云函数报ECONNREFUSED错误是什么原因?
ECONNREFUSED错误可能原因
- VPC/网络出站配置错误:如果你的云函数绑定了VPC连接器,且配置了
egressSettings为仅走VPC内网、未配置公网NAT网关的话,会无法访问公网的FCM服务端点,导致连接被拒绝。另外如果VPC防火墙规则、项目级防火墙规则禁用了443端口的出站请求,也会触发该错误。如果开启了VPC Service Controls,需要确认Firebase Cloud Messaging API已加入允许的服务列表。 - Admin SDK配置异常:检查messagingInstance的初始化是否指定了错误的自定义服务端点(比如错配为非欧洲区域的私有端点、或者无效的自定义代理地址),或者使用的
firebase-admin包版本过低存在已知的网络连接bug,可尝试将firebase-admin升级到最新稳定版复现验证。 - IP封禁/出口限制:云函数使用的出口IP如果因为高频请求被FCM服务临时封禁,或者企业/组织级的出口策略限制了到谷歌服务的访问,也会出现连接拒绝。
- 单次请求体量过大:
sendMulticast单次最多支持传入500个推送令牌,如果传入的tokens数组长度超过上限,虽通常会触发参数校验错误,但部分旧版本SDK也可能出现异常的网络请求错误导致连接被拒,建议先做令牌分片,每批最多500个再调用接口。 - 付费计划验证:如果你的项目使用的是Spark(免费)计划,确认没有搭配非谷歌的第三方代理服务进行请求转发,免费计划不支持访问公网非谷歌服务,如果配置了代理转发就会被拦截导致连接失败。
内容的提问来源于stack exchange,提问作者anonymous-dev
相关产品推荐
相关产品推荐

