Hi! Tunnel server works only for 'polling' transport. Try to force use 'websocket' io.connect(url, {transports: ["websocket"]...}) And seems tunnelServer.on('upgrade', function(...) {...}) need to implement What do you think about?