Ник Пост Дата
murka(Danil Shaymurzin)

Похоже РКН начал блокировать сервисы Google, столкнулись с отключением сервиса Google Cloud Functions на территории РФ, при использовании прокси или VPN сервис стабильно отвечает.

Для проверки сделал функцию-пустышку на базе данного сервиса, который возвращает { status: 'ok' } при успешном выполнении.

Локации (если нужен другой регион из списка Cloud Functions Locations, то пишите, добавлю)
Iowa (USA): https://us-central1-roskomnadzor-org.cloudfunctions.net/status
Belgium (Europe): https://europe-west1-roskomnadzor-org.cloudfunctions.net/status
Frankfurt (Europe): https://europe-west3-roskomnadzor-org.cloudfunctions.net/status

2022-04-16T10:06:18.230Z
murka(Danil Shaymurzin)

GlobalCheck:

2022-04-16T10:18:50.198Z
ValdikSS

Недоступен порт 443 на IP-адресе этого домена у провайдеров с ТСПУ. То же самое, что в Не открываются некоторые сайты за Cloudflare CDN

2022-04-16T11:35:14.148Z
ValdikSS

Оба домена (обе локации) резолвятся в один IP-адрес 216.239.36.54. Здесь нет ошибки в настройке?

2022-04-16T13:37:14.590Z
murka(Danil Shaymurzin)

Добавил ещё одну локацию (Frankfurt, Germany) https://europe-west3-roskomnadzor-org.cloudfunctions.net/status, также отдает 216.239.36.54

Ошибок в настройке нет.

2022-04-16T13:58:06.235Z
adinvadim(Vadim Kostin)

Сделал простой прокси сервер, чтобы на коленке быстро поднять прокси чтобы все работало.

Поднять можно самостоятельно.

Вот примеры
https://firebase-proxy-example.herokuapp.com/functions/us-central1/roskomnadzor-org/status
https://firebase-proxy-example.herokuapp.com/functions/europe-west3/roskomnadzor-org/status

2022-04-16T14:17:13.385Z
ValdikSS

Документирую: ситуация не изменилась, доступа всё так же нет:

% curl -v https://europe-west1-roskomnadzor-org.cloudfunctions.net/status -4 --max-time 10
*   Trying 216.239.36.54:443...
* After 4999ms connect time, move on!
* connect to 216.239.36.54 port 443 failed: Connection timed out
* Failed to connect to europe-west1-roskomnadzor-org.cloudfunctions.net port 443 after 5001 ms: Connection timed out
* Closing connection 0
curl: (28) Failed to connect to europe-west1-roskomnadzor-org.cloudfunctions.net port 443 after 5001 ms: Connection timed out
2022-04-20T18:39:13.763Z
murka(Danil Shaymurzin)

РКН начал блокировать Firebase Hosting:

https://roskomnadzor-org.web.app/
https://roskomnadzor-org.firebaseapp.com/


2022-04-22T12:04:28.126Z
ValdikSS

Внереестровая блокировка IP-адреса 199.36.158.100.

2022-04-23T02:31:59.646Z
murka(Danil Shaymurzin)

Похоже разблокировали, провайдер Дом.РУ, всё стабильно резолвится. Облачные функции всё также дропают соединение по таймауту

2022-04-29T06:57:34.270Z
ValdikSS

199.36.158.100 (*.web.app) заработал, 216.239.36.54 (*.cloudfunctions.net) всё ещё нет.

2022-04-29T09:07:52.690Z
VRSEN(Vrsen)

Есть идеи как можно использовать прокси с Callable functions?

2022-05-02T05:11:30.858Z
VRSEN(Vrsen)

Нашёл быстрое решение без прокси через firebase hosting.

Позволяет вам вызывать ваши функции с кастомного домена или дефолтного web.app
(Serve dynamic content and host microservices with Cloud Functions  |  Firebase Documentation)

  1. Добавляем в firebase.json:
  "hosting": {
    "rewrites": [ {
      "source": "/api/{название вашей функции}",
      "function": "{название вашей функции}"
    } ]
  }
  1. Диполим
firebase deploy --only functions,hosting
  1. Вызываем функции с любого прикреплённого домена по пути /api/{название вашей функции}

Для Callable Functions на клиенте добавляем свой домен:

export const functions = getFunctions(app, 'us-central1');
functions.customDomain = 'https://{projectId}.web.app/api';

Решение работает только для функций на us-central1!

@adinvadim @ValdikSS

2022-05-02T06:45:06.514Z
murka(Danil Shaymurzin)

Разбанили, все регионы резолвятся

2022-05-08T08:21:25.516Z
ValdikSS

Действительно, и 199.36.158.100 (*.web.app), и 216.239.36.54 (*.cloudfunctions.net) теперь работают.

2022-05-08T14:59:52.288Z