我们在受限环境中的服务器需要将通知推送到安装了我们应用程序的设备。我们在开放环境中尝试了推送客户端,它奏效了。但是,当移动到我们的服务器时,由于防火墙阻塞而出现网络错误。
基于谷歌文档:
如果您的组织具有将流量限制为 或 从互联网上,您需要将其配置为允许连接 FCM,以便您的 Firebase 云消息客户端应用接收 消息。要打开的端口是:5228、5229 和 5230。FCM 通常 仅使用 5228,但有时使用 5229 和 5230。FCM 不 提供特定的 IP,因此您应该允许防火墙接受 与 IP 块中包含的所有 IP 地址的传出连接 列在谷歌的ASN中15169。
但是,我们实际上是使用以下 URL 的 HTTP 协议进行推送:
https://fcm.googleapis.com/fcm/send
这是否意味着要打开的端口现在是443
而不是5228
?
此外,我们还需要配置主机,因为安全团队不允许我们连接到域。从上面的段落中,所有IP地址都在ASN 15169中,我只设法在这里找到了一个列表
任何有这方面的经验的人都可以给出一个指示吗?谢谢。
这是否意味着要打开的端口现在是 443 而不是 5228?
接收消息
您应该按照文档打开 5228、5229 和 5230。
发送消息
FCM 不提供特定的 IP,因为我们的 IP 范围变化太频繁,而且您的防火墙规则可能会过时,从而影响用户体验。 理想情况下,您将端口 5228-5230 列入白名单,没有 IP 限制。
但是,如果您必须有 IP 限制,则应将 Google 的 ASN 15169 中列出的 IPv4 和 IPv6 块中的所有 IP 地址列入白名单。这是一个很大的列表,您应该计划每月更新一次规则。
除了Darish的回答,Google不建议将IP或URL列入白名单:
对于传出连接,FCM 不提供特定的 IP,因为我们 IP 范围更改过于频繁,您的防火墙规则可能会消失 影响用户体验的日期。理想情况下,您将列入白名单 端口 5228-5230,没有 IP 限制。但是,如果您必须有一个 IP 限制,您应该将所有 IP 地址列入白名单 IPv4 和 IPv6 块列在 Google 的 ASN 15169 中。这是一个很大的 列表,您应该计划每月更新一次规则。引起的问题 通过防火墙IP限制通常是间歇性的,难以 诊断。
您可以在此处(Google帮助页面(或此处(ipinfo.io(找到有关GoogleIP地址的信息。
您也可以尝试以下命令(从上面的第一个链接,从netstat
转换为dig
(:
dig @8.8.8.8 _spf.google.com TXT
dig @8.8.8.8 _netblocks.google.com TXT
dig @8.8.8.8 _netblocks2.google.com TXT
dig @8.8.8.8 _netblocks3.google.com TXT
第一个命令获取Google邮件服务器的SPF记录(这是它们拥有的所有IP(。这会将您引导至提供所有 IP 范围的 _netblockN.google.com TXT 记录。我刚才的查询产生了以下结果:
_netblocks.google.com. 3599 IN TXT "v=spf1 ip4:35.190.247.0/24 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~all"
_netblocks2.google.com. 3599 IN TXT "v=spf1 ip6:2001:4860:4000::/36 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all"
_netblocks3.google.com. 3599 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"
您可以分析这些 TXT 记录,并将生成的 IP 范围用于防火墙规则。不过,Google 建议您每月更新一次规则。