Как использовать Firebase за брандмауэром/прокси?

Мы запускаем простое приложение, которое подключается к Firebase и считывает некоторые данные. Не удается подключиться со следующей ошибкой тайм-аута:

@firebase/database: FIREBASE WARNING: {"code":"app/invalid-credential",
"message":"Credential implementation provided to initializeApp() 
via the \"credential\" property failed to fetch a valid Google OAuth2 access token 
with the following error: \"Failed to parse access token response: Error: Error 
while making request: connect ETIMEDOUT

Мы находимся за брандмауэром / прокси-сервером, и, похоже, он блокирует трафик в / из Firebase и, следовательно, не удалось подключиться. Мой вопрос в том, какие порты нужно открыть и на какие URL-адреса назначения, чтобы это приложение работало нормально?

Любая помощь будет высоко ценится!


person Manoj Goel    schedule 13.11.2018    source источник


Ответы (1)


Наконец, после нескольких дней борьбы с проблемой все заработало. Необходимо связаться с сетевой командой и запросить выполнение следующих действий:

  1. Откройте порты 5228, 5229, 5230 для связи с Firebase.
  2. #P2#
    #P3# #P4# #P5# #P6#
  3. В моем приложении node.js добавлен следующий код:

    var globalTunnel = require('global-tunnel-ng');
    
    globalTunnel.initialize({
      host: '<proxy-url>',
      port: <proxy-port>,
      //proxyAuth: 'userId:password', // optional authentication
      sockets: 50 // optional pool size for each http and https
    });
  4. Установленный модуль global-tunnel-ng:

    npm install global-tunnel-ng

Это решило мою проблему, и я надеюсь, что это может помочь и другим. :-)

person Manoj Goel    schedule 16.11.2018