如何在防火墙/代理后面使用 Firebase?
How to use Firebase behind Firewall / Proxy?
我们是 运行 一个连接到 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
我们在防火墙/代理后面,它似乎阻止了流量 to/from Firebase,因此连接失败。我的问题是需要打开哪些端口以及哪些目标 URL 才能使此应用程序正常工作?
任何帮助将不胜感激!
终于,在为这个问题苦苦挣扎了几天之后,它终于开始工作了。需要联系网络团队并请求执行以下操作:
- 为 Firebase 通信打开端口 5228、5229、5230。
在源服务器和以下 URL 之间在代理级别打开通信:
fcm.googleapis.com
gcm-http.googleapis.com
accounts.google.com
{project-name}.firebaseio.com
在我的 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
});
安装的模块global-tunnel-ng
:
npm install global-tunnel-ng
解决了我的问题,希望对其他人也有帮助。 :-)
我们是 运行 一个连接到 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
我们在防火墙/代理后面,它似乎阻止了流量 to/from Firebase,因此连接失败。我的问题是需要打开哪些端口以及哪些目标 URL 才能使此应用程序正常工作?
任何帮助将不胜感激!
终于,在为这个问题苦苦挣扎了几天之后,它终于开始工作了。需要联系网络团队并请求执行以下操作:
- 为 Firebase 通信打开端口 5228、5229、5230。
在源服务器和以下 URL 之间在代理级别打开通信:
fcm.googleapis.com
gcm-http.googleapis.com
accounts.google.com
{project-name}.firebaseio.com
在我的 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 });
安装的模块
global-tunnel-ng
:npm install global-tunnel-ng
解决了我的问题,希望对其他人也有帮助。 :-)