Esta guía define el flujo de trabajo para exponer cualquier servicio interno de la red OpenWRT (ej. en 192.168.100.x o 10.10.10.x) mediante Nginx Proxy Manager.
vm1.byolivia.work) apuntando a la IP pública del servidor NPMA. Preparación del Proxy Host en NPM
vm1.byolivia.work)http (internamente el servicio puede usar HTTP aunque se acceda por HTTPS)B. Blindaje de Cabeceras (Pestaña Advanced)
Pegar en la pestaña Advanced para evitar el error "400 Bad Request":
# Configuracion estandarizada para servicios web
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
large_client_header_buffers 4 32k;
# Pasar informacion real al servicio interno
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;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
C. Implementación de SSL (Pestaña SSL)
Home Assistant requiere configuración adicional para funcionar correctamente detrás de un proxy.
Acceder a /config/configuration.yaml de la VM de Home Assistant y añadir:
http:
use_x_forwarded_for: true
trusted_proxies:
- 10.10.10.X
Reemplazar 10.10.10.X por la IP del host donde corre Nginx Proxy Manager (la IP de OpenWRT en la red LAN).
Si no se configura trusted_proxies, Home Assistant mostrará el error 403 Forbidden al acceder desde el navegador.
En NPM, añadir el Proxy Host:
ha.byolivia.work (ejemplo)http10.10.10.100)8123En la pestaña Advanced, usar la configuración de cabeceras mencionada anteriormente.
| Síntoma | Causa probable | Acción correctiva |
|---|---|---|
| 403 Forbidden | trusted_proxies no coincide con la IP del NPM | Revisar configuration.yaml en Home Assistant |
| 502 Bad Gateway | El servicio interno está apagado o el puerto es incorrecto | Haz un ping a la IP de la VM desde tu red |
| 400 Bad Request | Cabeceras demasiado grandes | Verifica que el bloque de Advanced esté presente y guardado |
| Internal Error | Error de sintaxis en Advanced o certificado corrupto | Borra el contenido de Advanced, guarda, y reintenta |
| Página no carga (SSL) | Conflicto en el certificado | Crea el certificado de nuevo en el menú lateral SSL Certificates |
| IP Conflic | Host y Router/VM comparten la misma IP | Modificar IP de la interfaz de red en el Router o Host |
| SSH Host Key Changed | Cambio de dispositivo en la misma IP | Ejecutar: ssh-keygen -R "IP" en Proxmox |
Ver también: OpenWRT en Proxmox, Nginx Proxy Manager