【问题标题】:FCM firewall restrictionFCM 防火墙限制
【发布时间】:2018-01-22 17:56:02
【问题描述】:

我们将 FCM 用于我们的 android 应用程序。

但是我们的客户在他们的网络上有防火墙限制。 他们允许端口(5228、5229、5230)从 FCM 获取消息,但我们无法在 init 状态下获取令牌。

我们连接到另一个网络以获取令牌,然后再次连接受限网络并成功发送通知。

FCM服务的token注册是否需要其他权限?

【问题讨论】:

    标签: android push-notification google-cloud-messaging


    【解决方案1】:

    以下是 Firebase 文档中关于 firewall and network restriction 的说明:

    如果您的组织有防火墙来限制进出 Internet 的流量,您需要将其配置为允许移动设备与 FCM 连接,以便您网络上的设备接收消息。 FCM 通常使用端口 5228,但有时使用 5229 和 5230。

    对于传出连接,FCM 不提供特定 IP,因为我们的 IP 范围更改过于频繁,而且您的防火墙规则可能会过时,从而影响您的用户体验。理想情况下,您会将端口 5228-5230 列入白名单,没有 IP 限制。但是,如果您必须有 IP 限制,则应将 Google 的 ASN 15169 中列出的 IPv4 和 IPv6 块中的所有 IP 地址列入白名单。这是一个很大的列表,您应该计划每月更新您的规则。由防火墙 IP 限制引起的问题通常是间歇性的,难以诊断。

    为传入消息打开的端口:

    • 5228
    • 5229
    • 5230

    允许传出连接的端口:

    其中之一(首选选项#1):

    • 没有 IP 限制
    • 列出的 IP 块中包含的所有 IP 地址 在Google's ASN of 15169。不要忘记至少更新一次 月。

    网络地址转换和/或状态包检测防火墙:

    如果您的网络实施网络地址转换 (NAT) 或状态数据包检测 (SPI),请为我们通过端口 5228-5230 的连接实施 30 分钟或更长时间的超时。这使我们能够提供可靠的连接,同时减少用户移动设备的电池消耗。

    【讨论】:

    • 有一个编辑建议将 443 添加到列表中。您引用的文档确实具有该编号,但该页面声明它是上次更新时间为 2020-07-10 UTC,但并未说明进行特定编辑的时间。如果您批准修改,请注意更改的时间/有效的版本。
    猜你喜欢
    • 1970-01-01
    • 2017-09-15
    • 2019-10-07
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多