Matter/Thread with Nginx Proxy Manager

Hey guys,
I struggle a bit with some network configurations, I’m working on.

Normally I have a nginx proxy manager instance running where I configured a subdomain (home.mydomain.com) which points to the ha ip (192.168.50.10:8123). Using SSL certificate and I can normally use home assistant via the domain.

In home assistant added this config:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 192.168.0.0/14

And the local network address in ha was set to the ip http://192.168.50.10:8123.
Had no issues with that, except that I couldnt use google cast because of missing ssl in address.

I therefor switched to the domain address in the config: https://home.mydomain.com
But with that the esphome setup regarding voice wasn’t working. So I added in nginx tcp stream to my local dns/firewall 192.168.50.1:6053 (opnsens+adguard).
The voice assistant then was running flawlessly and also the google cast. But now new matter over thread devices cant join the network. Already joined thread devices works without any issues, but join is simply not working anymore.

Does someone has a clue how to fix that? Or to switch to the old setup with fixed ip but enable google cast?

I use exactly the same setup, where I connect to my HA via nginx, but internally its still running on http rather than https and I’ve had no issues with esphome, and I’m using a voice PE as my voice assistant, connected to both HA and openai without any issues.

All I did on my router was point port 80 and 443 at the address of my nginx server.

Yeah, I have the exact same setup. But with this google cast is not working because its requiring https for the internal address in order to function

You can apply SSL to local domains with NPM, as well. You would need to if you ever tried embedding a webpage in a dashboard that uses SSL. So in the case of using google cast, looks like you’re in the same boat. Create a proxy host and issue an SSL cert on your local domain. Whether you have to force SSL is dependent on the services you’re trying to use. So you could try without forcing SSL, which should continue allowing you to use http:// in your browser, but if google cast still won’t work after that, toggle Force SSL on the proxy host, but in turn, you’ll be forced to use the https:// version in your browser.

I already did this and this is not the issue here. I have a working NPM config with forced ssl using a localdomain. Browser access to that, esphome and everything else is working flawlessly.
The issue is that I still need to set the internal ip in ha to static ip without ssl. When I enter the same localdomain i created via NPM in the ha config, then voice assistant stop working. Which seems to be related that they communicate via a different port then the configuration in NPM for ha webinterface.

To be more precise but also consensed:

HA Internal IP → http://192.168.50.10:8123
Working: Browser, ESPHome, Matter over Thread (Joining), Voice Assistant
Not Working: Google cast

HA Internal IP → https://home.mydomain.com
Working: Browser, Google cast, ESPHome
Not Working: Voice Assistant, Matter over Thread (Joining)


Update
Now retried setting the interal ip in ha to the npm domain and all of a sudden its working. Don’t really know why. Hope it’ll stay this way.

It could’ve been a number of things when you first tried. Neighbor tables in routers can throw routes and DNS in disarray when they’re cached, for example. When I first tried setting up NPM for my setup, I couldn’t get it to work for the life of me. I ended up putting it off for a year and just used DuckDNS, lol. I saved the config entry details, tried again a year later, and voila!

1 Like