The Valsight frontend uses Websockets to communicate with the Valsight backend in an interactive, bi-directional way.
Websockets are a bi-directional protocol, designed to be usable through typical web components like load balancers and proxy servers.
To initiate a websocket connections, the client sends an HTTP Upgrade request.
More details can be found on Wikepedia - WebSocket.
By default, most load balancers and proxy servers do not forward websocket requests to the backend, and thus this support must be enabled.
Refer to your reverse proxys or load balancers manual for enabling websockets.
See On-Premise Installation Guide for an Apache2 example.
If the Valsight frontend cannot establish a websocket connection it defaults to a HTTP Polling mechanism. In theory this should enable the user to use all features of the app in the same fashion. However, it leads to an increased HTTP workload, as many HTTP requests (thousands per minute) can originate from a single client. Please ensure that your infrastructure does not rate limit such requests.
We are using https://github.com/sockjs/sockjs-client and its included fallback mechanism.