所以我正在使用 websockets,对于内容过滤代理(蓝色外套)后面的客户端,它会剥离 websockets 的升级标头,以便它们看起来像普通的 HTTP 请求。
标题:
{ host: 'example.com',
origin: 'http://example.info',
pragma: 'no-cache',
'cache-control': 'no-cache',
'sec-websocket-key': 'NIeTzdQwd3TYambNSzR6lg==',
'sec-websocket-version': '13',
'sec-websocket-extensions': 'x-webkit-deflate-frame',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36',
connection: 'Keep-Alive',
'x-bluecoat-via': 'b6e771e9e7ed72d2' }
为了解决这个问题,我需要a)以某种方式伪造websocket足以让ws能够处理它......或者b)弄清楚如何代理某些东西以连接到不同的端口,并将该连接转发到Heroku . 我对可能的最低接触解决方案感兴趣,因为这是针对一次性客户的。
有谁知道如何执行上述任何操作?选项 c) 是使用 sock.js 或类似的东西重写 api,如果最后的努力不起作用,这就是我要去的地方。