【发布时间】:2016-07-26 01:04:22
【问题描述】:
我有一个在云中运行的 nodejs websocket 服务器,我可以从公司防火墙之外的任何位置建立安全的 web socket 连接。 现在,如何在从公司代理(本地)后面的资源创建 websocket 连接时提供代理信息?我正在使用来自https://github.com/websockets/ws 的这个 nodejs 模块。
执行以下代码时出现 EHOSTUNREACH 错误。请注意,云资源和本地资源之间没有 VPN 连接。
**var wss = new WebSocket('wss://cloudserver:443', {
rejectUnauthorized: false
});**
使用下面的示例代码,我可以使用代理信息从公司代理后面的资源建立与云的 http 连接,但无法弄清楚如何使其与 Web 套接字一起使用。
**var Http = require('http');
var req = Http.request({
host: 'proxy',
port: 8080,
method: 'GET',
path: 'http://cnn.com/' // full URL as path
}, function (res) {
res.on('data', function (data) {
console.log(data.toString());
});
});
req.end()
**
我还关注了http://blog.vanamco.com/proxy-requests-in-node-js/,它似乎有我需要的东西,但由于我是 nodejs 新手,所以我有点迷路了。
【问题讨论】:
-
您是否使用真实的真实 URL 来代替
'wss://cloudserver:443'和真实有效的域? -
是的。正如我所提到的,我可以从家里打开到它的安全 Web 套接字连接,但不能从工作中打开。实际的url当然不一样。
标签: javascript node.js proxy websocket