if it’s only happening with one user, it sounds like there’s something specific to the user’s machine that must be causing this behavior. Odd that the header would be stripped from the request. Is the user’s desktop client up to date?
Here’s something to consider: check to see if the client is actually sending the “upgrade” header. The easiest way to do this is either through Firebug OR through the “Live HTTP Headers” extensions for firefox. Here’s an example of what my client produces when attempting to establish a connection to the web socket.
Hmmmm. its interesting that only one client is affected… and I imagine youre using the iptables on a gateway and not on this clients machine? Other folks are leveraging the same forwarding?
There is code w/in MM that constructs a URL for the websocket, but since the error itself implies that it’s receiving the request (at the appropriate endpoint), yet missing headers, it’s as though the headers are being stripped downstream…
Have you made any progress on this in the past 24 hours?
I’m not too experienced w/ Linux specifically, but honestly I’d recommend using nginx to handle your proxying and port translation, in lieu of iptables.
Also, somebody on these forums had an issue w/ an anti-virus client causing issues w/ connecting to a websocket. Is it possible that there is something running on this machine that is blocking websockets on standard ports (like 80)?