Сервис push-уведомлений OneSignal недоступен в России

Я заметил, что в нашем приложении перестали работать «пуши» в последние несколько дней. Сайт ОneSignal тоже не открывается.

Сегодня решил-таки выяснить, в чём причина. Странно, что OneSignal рапортует о стабильной работе своих сервисов.

Как выяснилось, IP адрес сайта onesignal.com (104.16.35.63) находится в реестре запрещённых сайтов с 19 июля по решению ФНС.

Пользуясь случаем, посоветуйте, пожалуйста, альтернативный сервис пушей с нормальным API.

0
84 комментария
Написать комментарий...
Sergei Timofeyev

Ещё с пятницы. Через реверс-прокси вывели за пределы России.

Ответить
Развернуть ветку
Дмитрий Духнич

Можете подробнее? Приложение через реверс прокси подключается к серверам one signal?

Ответить
Развернуть ветку
Sergei Timofeyev

Бэкэнд же. Проблема в том, что он не может достучаться до OneSignal, если стоит в России. Соответственно, нужно организовать либо прокси, либо реверс-прокси. Последнее решается путём поднятия nginx на машине, которая имеет доступ к onesignal.

В своём бэкэнде меняете назначение (example.com), куда обращаться, а на реверсе добавляете:

server {
listen 443 ssl;
server_name example.com;
# OneSignal Proxy
location ~* /onesignal/(.*) {
resolver 8.8.8.8;
rewrite ^/onesignal/(.*) /$1 break;
proxy_pass https://onesignal.com;
}
}

Учтите, что необходимо обязательно использовать ssl. У нас reverse proxy размещён на digital ocean

Ответить
Развернуть ветку
Dima Trish
Автор

А как же клиентская часть? Если юзер уже подписан на пуши, то все ок, но как подписывать новых людей? JS SDK шлет реквесты на OneSignal API же.

Ответить
Развернуть ветку
Sergei Timofeyev

Я не могу точно сказать, как у нас это реализовано на клиентской части, но работает. А вот с отправкой возникала проблема.

Ответить
Развернуть ветку
Mikhail Lyubich

А у вас это где? посмотрел бы фронт

Ответить
Развернуть ветку
81 комментарий
Раскрывать всегда