В этом документе описаны сетевые конфигурации, необходимые для корректной работы FCM в вашей сетевой среде.
Настройте свою сеть для отправки сообщений в FCM
Прежде чем начать, необходимо убедиться, что ваша система взаимодействует с серверами FCM для отправки сообщений и управления подписками.
Для отправки сообщений FCM или управления подписками вашей сети потребуется взаимодействовать со следующими серверами по протоколу HTTPS:
- fcm.googleapis.com (отправка сообщения)
- accounts.google.com (аутентификация для отправки сообщений)
- iid.googleapis.com (подписка на темы и управление группами устройств)
Этот список может меняться со временем. Мы не можем предоставить список разрешенных IP-адресов для этих конечных точек.
Настройте сеть для устройств Android с помощью FCM
В этом разделе подробно описано, как настроить сеть для поддержки трафика FCM для устройств Android.
Порты FCM и ваш брандмауэр
Подавляющее большинство сетей не ограничивают доступ устройств к остальной части интернета. В целом, мы рекомендуем именно такой подход. Однако некоторые организации требуют использования межсетевых экранов в рамках плана обеспечения безопасности периметра сети.
Параметры брандмауэра
| Вариант | Чем мы занимаемся | Конкретные правила | Примечания |
|---|---|---|---|
| Нет ( предпочтительно ) | - | - | - |
| Фильтрация по портам (второй вариант) | Ограничьте трафик определенными портами. | TCP-порты для открытия:
| Это самое простое правило, позволяющее избежать зависимости от вещей, которые с большей вероятностью изменятся со временем. |
| Фильтрация на основе имени хоста | Использование специальной конфигурации брандмауэра для добавления в список разрешенных определенных записей TLS SNI для пропуска через брандмауэр. Это может сочетаться с фильтрацией по портам. | Имена хостов для открытия:
| Не все межсетевые экраны поддерживают это, но многие поддерживают. Этот список достаточно стабилен, но мы не будем заблаговременно уведомлять вас об изменениях. |
| Фильтрация по IP-адресам (настоятельно не рекомендуется) | Используйте очень большой статический список IP-адресов. | Добавьте в список разрешенных IP-адресов все IP-адреса, перечисленные в файле goog.json . Этот список регулярно обновляется, и рекомендуется обновлять правила ежемесячно . Проблемы, вызванные ограничениями IP-адресов брандмауэром, часто носят периодический характер и их трудно диагностировать. | Мы очень часто и без предупреждения меняем наш список IP-адресов, поэтому вам потребуется вводить этот большой список и регулярно его обновлять. Кроме того, мы часто сталкиваемся с опечатками, когда люди пытаются ввести списки разрешенных IP-адресов в правилах своего брандмауэра. Мы не рекомендуем этого делать, поскольку информация неизбежно устаревает и не обновляется. Кроме того, размер списка может оказаться слишком большим для некоторых маршрутизаторов. |
Межсетевые экраны с трансляцией сетевых адресов или проверкой состояния пакетов
Если в вашей сети используется трансляция сетевых адресов (NAT) или проверка состояния пакетов (SPI), установите тайм-аут 30 минут или более для наших подключений через порты 5228-5230. Это позволит нам обеспечить надежное соединение, одновременно снижая энергопотребление мобильных устройств ваших пользователей.
FCM и прокси
Протокол FCM для доставки push-уведомлений на устройства не поддерживает проксирование через сетевые прокси. Поэтому вам необходимо убедиться, что соединения FCM от устройств в вашей сети могут напрямую подключаться к нашим серверам.
Взаимодействие VPN и возможность обхода VPN
Firebase Cloud Messaging предпринимает различные шаги для обеспечения надежного и максимально частого соединения для отправки push-уведомлений с телефона на сервер. Использование VPN усложняет эту задачу.
VPNs mask the underlying information that FCM needs to tune its connection to maximize reliability & battery life. In some cases VPNs actively break long lived connections resulting in a bad user experience due to missed or delayed messages or a high battery cost. When the VPN is configured to allow us to do so, we bypass the VPN using an encrypted connection (over the base network Wi-Fi or LTE) so as to ensure a reliable, battery friendly experience. FCM 's usage of bypassable VPNs is specific to the FCM Push Notification channel. Other FCM traffic, such as registration traffic, uses the VPN if it is active. When the FCM connection bypasses the VPN it loses additional benefits the VPN may provide, such as IP masking.
Разные VPN-сервисы используют разные методы контроля возможности обхода защиты. Для получения инструкций обратитесь к документации вашего конкретного VPN-сервиса.
Если VPN не настроен на обход, Firebase Cloud Messaging будет использовать VPN-сеть для подключения к серверу. Это может привести к задержкам в передаче сообщений и увеличению расхода заряда батареи, поскольку Cloud Messaging будет поддерживать соединение через VPN.