Open Dronedale opened 2 months ago
hass-ingress already supports websocket. For example, nodered uses websocket, which is perfectly compatible with ingress. If there is a problem with your service websocket, it should be due to the service. Each service is different, so please adjust the configuration yourself. If you finally solve it, you are welcome to add the configuration to the document.
Thanks for your quick response! Actually I do not really know how to configure ist as I am not that experienced in http stuff. One thing to note if I set work_mode to auth, it is working fine but only using my local ip. Via my nginx reverse proxy I get a blank screen. Leaving work_mode as default (afaik this is ingress) i get this error of my backend (locally as well as with reverse proxy)
I got the same error message before trying to access the service outside of HA via nginx reverse proxy. The problem got solved there by checking "websockets" in the proxy manager for this host.
Also tried to inspect the errors in dev console in google chrome. It says: "WebSocket connection to 'wss://
refer to this to try make it work.
# "fix" absolute URLs by rewriting the response body
# also disable streaming, or it won't work
disable_stream: True
rewrite:
# for HTML response
- mode: body
match: >-
/(luci-static|cgi-bin)/
replace: >-
$http_x_ingress_path/\1/
# for JS init code
- mode: body
match: >-
\\/(luci-static|cgi-bin|ubus)\\/
replace: >-
$http_x_ingress_path\/\1\/
# for login response
- mode: header
name: "(Location|Set-Cookie)"
match: /cgi-bin/
replace: $http_x_ingress_path
I am in a similar situation, the service I use seems to use a js that internally creates a url for socket.io using location.host
, consequently using HA's domain. I guess this
- mode: header
name: "(Location|Set-Cookie)"
match: /cgi-bin/
replace: $http_x_ingress_path
is the rewrite that should help me, the question is: what header should I check? The header of the index opened?
My service is using websockets, with ingress it shows me an error. Is it possible to get this working?