Hello, I have a question regarding the usage of a reverse-proxy which is part of a docker network.
I currently use Nginx Proxy Manager as a reverse-proxy for all my services hosted in docker. This works great since I can simply forward using each containers name. I have some services however (e.g. homeassistant) which are hosted separately in a VM or using docker on another device.
Is it possible to use the same reverse-proxy for those services as well? I haven’t found a way to forward to hosts outside of the proxies docker network (except for using the host network setting which I would like to avoid)
For homeassistant I had to add this in configuration.yaml
http: use_x_forwarded_for: true trusted_proxies: - 172.21.0.2
Where 172.21.0.2 is my NPM docker IP
Edit: its NPM IP and not HA like I wrote first time
This. Also, make sure the proxy is proxying websocket traffic as well. I do it with pure nginx like this:
server { listen 80; server_name example.com; location / { proxy_pass http://192.168.1.100:8123/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
Thanks. I tried it like this and still get a 400 Bad Request error.
Someone below mentioned adding some more IPs to the trusted_proxies list so I tried that as well without result. The IP I used for the reverse-proxy is the IP listed in portainer under the network for the proxy container. Just to reiterate, the container is running on a different device than homeassistant (technically same device but different VM but that shouldn’t make a difference).