我在通过代理连接到Firebase时遇到了一些问题。
当没有通过代理(在开发机器上)运行时,或者如果我在代理后面的浏览器中运行时,应用程序正常工作。当它部署在无法绕过代理的服务器上时会发生此问题。
我无法找到有关Firebase如何获取代理设置的任何文档,或者我如何告诉Firebase有关代理的信息。是否可以从代理服务器后面运行Firebase(在Node中)?如何配置代理设置?
答案 0 :(得分:7)
我遇到了同样的问题,并且发现了这个帖子。
@Kato:谢谢你的暗示!为了开发/测试目的,我劫持了faye-websocket并且能够通过代理连接。
即,在faye \ websocket \ client.js中,我硬编码(我知道它很糟糕,但对于开发目的应该没问题)下面的代理配置,
var Client = function(_url, protocols, options) {
options = options || {};
options.proxy = {
origin: 'http://localhost:8888',
headers: {'User-Agent': 'node'},
} ....
现在连接正常:)
答案 1 :(得分:4)
唉,看起来没有任何全局方式告诉节点使用代理进行传出连接。在代理服务器后面有一个服务器进程有点奇怪。通常,可以配置服务器的防火墙以允许这些套接字连接,而不是尝试通过代理路由它们。
如果你很绝望,你可能会劫持faye-websocket的WebSocket实现并添加代理信息,类似于this approach,但是定位faye-websocket而不是http模块。
答案 2 :(得分:2)
var Client = function(_url,protocols,options){
options = options || {};
options.proxy = {
原产地:'http://localhost:8888',
标题:{'User-Agent':'node'},
} ....
我的本地代理是“http://127.0.0.1:8118”
当我更改代理uri时,它对我有用。感谢@jho
答案 3 :(得分:0)