|
|
|
|
|
by bri3d
1638 days ago
|
|
No, we always ran on TLS. There were a few classes of these: * Filtering MITM application firewall solutions which installed a new trusted root CA on employee machines and looked at the raw traffic. These would usually be configured to wholesale kill the connection when they saw an UPGRADE because the filtering solutions couldn't understand the traffic format and they were considered a security risk. * Oldschool HTTP proxy based systems which would blow up when CONNECT was kept alive for very long. * Firewalls which killed long-lived TCP connections just at the TCP level. The worst here were where there was a mismatch somewhere and we never got a FIN. But again, because we had a rapid expectation for an acknowledgement, we could detect and reap these pretty quickly. We also tried running WebSockets on a different port for awhile, which was not a good idea as many organizations only allowed 443. |
|
I found the best way to handle this was with an application level heartbeat. That bypassed dealing with any weirdness of the client firewalls, TCP spoofing, etc.