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