IIS反向代理和websockets,websocket握手失败

我正在使用Windows Server 2008 R2上的IIS 7.5运行一个小网站。 我有一个node.js应用程序也运行在端口3000上。

来自网站(客户端浏览器)的HTTP调用反向代理http://example.com/node/whateverhttp://localhost:3000/whatever 。 一切工作到目前为止。

问题是当我尝试使用socket.io。

我收到:

 WebSocket connection to 'ws://example.com/socket.io/?EIO=3&transport=websocket&sid=adb9WRpoMFYRoS0vAAAB' failed: Error during WebSocket handshake: Unexpected response code: 502 

我很确定,如果我没有错,那就是:

它将最初的请求转发给我的服务器,因为对websocket服务器的初始请求是一个标准的HTTP请求(带有一些额外的头文件)。 IIS确实知道,只是转发请求。 然而,一旦接收到websocket请求,websocket服务器发送101响应并切换到websocket模式。 IIS不理解websocketstream量,并且无法代理该stream量。

有没有一个技巧或解决scheme来configuration反向代理的ws://地址?