About Remote Diagnostics
VeloCloud Orchestrator supports bi-directional communication with the VeloCloud Edge by using WebSockets. WebSocket provides a full-duplex communication protocol over a single TCP connection. WebSockets easily support communication between a Web browser or other client applications and a Web server with much lower overhead than HTTP polling. Remote Diagnostics uses a bidirectional WebSocket connection instead of the live-mode heartbeat mechanism to improve responsiveness in the VeloCloud Orchestrator.
- A WebSocket connection between a Web browser (Orchestrator UI portal) and an Orchestrator. This connection is responsible for all communications with the Web browser and for setting up the system properties needed for establishing a WebSocket connection.
- Another WebSocket connection between an Orchestrator and an Edge. This connection is persistent and setup on Edge activation for processing heartbeats from the Edge and sending back responses to the Orchestrator.
While establishing WebSocket connections between a Web browser and an Edge, to ensure Web security against Distributed Denial-of-Service (DDoS) and Cross-site Request Forgery (CSRF) attacks, the Orchestrator validates the browser origin address for incoming requests, used to access the Orchestrator UI.
network.public.address system property. To support scenarios where the address used to access the Orchestrator UI from the browser is different from the value of the network.public.address system property, the Orchestrator introduces the following system properties for WebSocket connections:
network.portal.websocket.address- Allows setting an alternate address/DNS hostname to access the UI from a browser if the browser address differs from the value ofnetwork.public.addresssystem property. By default, the Orchestrator does not set thenetwork.portal.websocket.addresssystem property.session.options.websocket.portal.idle.timeout- Allows setting the total time (in seconds) that the browser WebSocket connection remains idle. By default, the browser WebSocket connection is active for 300 seconds in an idle state.