В этом документе описаны сетевые конфигурации, необходимые для корректной работы 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 усложняет эту задачу.
VPN-сети скрывают информацию, необходимую FCM для настройки соединения с целью максимальной надежности и экономии заряда батареи. В некоторых случаях VPN-сети активно разрывают длительные соединения, что приводит к ухудшению пользовательского опыта из-за пропущенных или задержанных сообщений или высокого расхода заряда батареи. Если VPN-сеть настроена таким образом, мы обходим VPN, используя зашифрованное соединение (через базовую сеть Wi-Fi или LTE), чтобы обеспечить надежную и экономичную работу. Использование обходимых VPN-сетей в FCM относится только к каналу push-уведомлений FCM . Другой трафик FCM , например, трафик регистрации, использует VPN, если он активен. Когда соединение FCM обходит VPN, теряются дополнительные преимущества, которые может предоставлять VPN, такие как маскировка IP-адресов.
Разные VPN-сервисы используют разные методы контроля возможности обхода защиты. Для получения инструкций обратитесь к документации вашего конкретного VPN-сервиса.
Если VPN не настроен на обход, Firebase Cloud Messaging будет использовать VPN-сеть для подключения к серверу. Это может привести к задержкам в передаче сообщений и увеличению расхода заряда батареи, поскольку Cloud Messaging будет поддерживать соединение через VPN.