One of the issues we have encountered recently is the fact that we could not establish a VNC Remote session.

The edge was located outside of the internal network where the Tomcat was hosted, and all access to the instance was through an Apache reverse proxy.

 

The EMS was able to connect successfully to the Server, because the Apache had correctly setup the Websocket forwarding through the following directive:

ProxyPass "/Thingworx/WS/"  "wss://192.168.0.2/Thingworx/WS"


However, we saw that tunnels immediately closed after creation and as a result (or so we thought), we could not connect from the HTML5 VNC viewer.

More diagnostics revealed that you need to have ProxyPass directives for the following:

-the EMS will make calls to another WS endpoint, called WSTunnelServer. After you setup this, the EMS will be able to create tunnels to the server.

-the HTML5 VNC page will make a "websocket" call to yet another WS endpoint, called WSTunnelClient.


Only at this step you have the ability to successfully use tunnels through a reverse proxy.


Hope it helps!