HAProxy listens on port 80, and is configured like HAProxy + WebSocket Disconnection
Socket.io listens on a private port.
For the vast majority of people, this works fine. They connect over port 80, and everything is great.
However, some people have Trend Micro "Worry Free Business Security" installed, and this is breaking websocket connections using socket.io. If I force it to use xhr-polling, it works fine.
Engine.io works fine for people with Trend, so it's something with how socket.io realises that the websocket connection is failing.