Web application failing when trying to access a websocket

I am running a web application on one of my nodes and accessing as follows:

https://OOD_SERVER/rnode/MY_NODE/8080

The application is not working as it is trying to access a web socket:

wss://OOD_SERVER/client

Is there something I can do in Open OnDemand to get this working (as it’s not my web application)? And, I’m not even sure what this URL should be to access MY_NODE.

Thanks,
Paul

It appears the web application is not using relative url’s. The HTML that was returned in that in initial request contains a url “/client” instead of “client”.

In this case you need to:

  1. Use /node/ instead of /rnode/
  2. Configure the web application to know about the base path of the application /node/MY_NODE/8080 so that when the web application produces a URL in an HTML template it can prepend this base path to the URL. This configuration is usually application or framework specific.

For example we have to set base_url in the Jupyter configuration. We use env vars host and port. We do port=$(find_port ${host}) to finds an available port. Then host and port are used to build the URL for connecting to the app in https://github.com/OSC/bc_osc_jupyter/blob/c92f9c9b89e1f9db1a1f1f32f49fa7a4b9430761/view.html.erb and you can see some documentation on this https://osc.github.io/ood-documentation/latest/app-development/interactive/view.html