Hello all, I am trying to set up ingress for Signal K for the following webpage app (demo): Signal K Server.
I have set this up in the dev rep here: ha-addons/signalk2mqtt at dev · corvy/ha-addons · GitHub. To test it I suggest you pull the dev rep and save it to the local HA instance in /addons/ folder.
The design is currently that I have created a simple add-on running signalk and nginx. The webpage is presented via ingress the following way: HA → Ingress to port 3030 → nginx on port 3030 → signalk on 3000. When I connect to nginx directly on 3030 the web interface works, if I connect to 3000 it also works. Connecting through ingress I get “cannot connect to server”. My investigations shows that when I connect via ingress websocket does not work. Logs shows for instance this error:
actions.js:162 WebSocket connection to 'wss://ha.anonymized.com/signalk/v1/stream?serverevents=all&subscribe=none&sendMeta=all' failed:.
/api/hassio_ingress/…admin/#/dashboard:1 Uncaught (in promise) SyntaxError: Unexpected non-whitespace character after JSON at position 3.
In the SignalK logs I get no significant errors so I think the wss connection does not go back to the addon. How do I attack this? Is it possible to rewrite the wss URL through the nginx reverse proxy? How would I do that and to what? What URL should I use for the wss connection? The url slug looks like this: https://ha.anonymized.com/local_signalk2mqtt/ingress but that is probably not correct.
Any pointers? Anyone that could help me. You could easily test it yourself by downloading from git and test via the local rep in /addons.
Thank you!