Problemas de acceso Nginx (Docker) y Virtual Machine (VS)
#1
Buenas:

A ver si alguien me puede echar una mano, porque no consigo encontrar dónde puede estar el problema.

Mi NAS es un QNAP TS-251+.
Tengo en Docker Station el Nginx según se explica en este "How to": https://forum.qnap.com/viewtopic.php?t=155970
En el router tengo abierto sólo los puertos que rediriguen 443 y 80 a Nginx.
Los host que tengo en Nginx son:
- servicio.dominio01.com --> https://192.168.5.100:444 (para acceder a QTS del NAS desde fuera de la red local).
- nginx.dominio01.com --> https://192.168.5.100:35081 (para acceder a NGINX desde fuera de la red local; normalmente lo tengo desactivado).
- www.dominio01.com --> https://192.168.5.100:450 (tengo un WordPress, con el propio servidor Web del NAS redirigido a ese puerto).
- www.dominio02.com --> https:/192.168.5.100:451 (tengo otro WordPress, igual que el anterior).

Esto todo funciona perfectamente.

Además, el contenedor de SincThing directamente me prepara la conexión para acceder desde la App de SyncTrazor en Android y con el software de SyncThing en Windows (no tengo muy claro cómo funciona esto, pero funciona...).

Hasta aquí todo perfecto.

El problema ha venido cuando he inentando instalar Home Assistant mediante Virtual Station, según se explica aquí: https://www.redeszone.net/marcas/qnap/do...-nas-qnap/

Se instala, y funciona todo perfecto en local, pero cuando intento acceder desde fuera, aquí empiezan los problemas.
Si pongo en Nginx un Hiost que redireccione a la dirección que en local me funciona perfectamente, que sería http://192.168.5.101:8123 (notese que es otra IP), me indica error "502 Bad Gateway". Puedo acceder desde fuera con la IP de mi router, pongamos http://170.1.1.203:8123, abriendo dicho puerto en el Router, pero me gustaría que me funcionara directamente con Nginx, y no veo la manera de hacerlo (sobre todo quiero hacerlo por que tenga certificado Let's Encrypt y se renueve automáticamente).

He probado a instalar Nginx directamente en Home Assistant y me da exactamente el mismo problema (https://www.youtube.com/watch?v=zQvNNOCUd-s). He probado incluso el hacer un subdominio de DuckDNS.org pero no consigo que funcione, ni con Nginx ni sin él (que también parece ser que debería funcionar sin él)..

Seguro que alguien que controle me sabe decir dónde estoy metiendo la pata... pero es que yo ya no sé dónde puede estar el error. ¿Alguien me podría arrojar luz?

Muchísimas gracias de antemano.
  Responder
#2
(08-01-2023, 07:41 PM)astrarvp escribió: Buenas:

A ver si alguien me puede echar una mano, porque no consigo encontrar dónde puede estar el problema.

Mi NAS es un QNAP TS-251+.
Tengo en Docker Station el Nginx según se explica en este "How to": https://forum.qnap.com/viewtopic.php?t=155970
En el router tengo abierto sólo los puertos que rediriguen 443 y 80 a Nginx.
Los host que tengo en Nginx son:
- servicio.dominio01.com --> https://192.168.5.100:444 (para acceder a QTS del NAS desde fuera de la red local).
- nginx.dominio01.com --> https://192.168.5.100:35081 (para acceder a NGINX desde fuera de la red local; normalmente lo tengo desactivado).
- www.dominio01.com --> https://192.168.5.100:450 (tengo un WordPress, con el propio servidor Web del NAS redirigido a ese puerto).
- www.dominio02.com --> https:/192.168.5.100:451 (tengo otro WordPress, igual que el anterior).

Esto todo funciona perfectamente.

Además, el contenedor de SincThing directamente me prepara la conexión para acceder desde la App de SyncTrazor en Android y con el software de SyncThing en Windows (no tengo muy claro cómo funciona esto, pero funciona...).
Hola

SyncThing te funciona ya que usa una conexión inversa. Digamos que no hay puerta abierta de entrada, lo que hace es abrir puerta para salir ?
(08-01-2023, 07:41 PM)astrarvp escribió: Hasta aquí todo perfecto.

El problema ha venido cuando he inentando instalar Home Assistant mediante Virtual Station, según se explica aquí: https://www.redeszone.net/marcas/qnap/do...-nas-qnap/

Se instala, y funciona todo perfecto en local, pero cuando intento acceder desde fuera, aquí empiezan los problemas.
Si pongo en Nginx un Hiost que redireccione a la dirección que en local me funciona perfectamente, que sería http://192.168.5.101:8123 (notese que es otra IP), me indica error "502 Bad Gateway". Puedo acceder desde fuera con la IP de mi router, pongamos http://170.1.1.203:8123, abriendo dicho puerto en el Router, pero me gustaría que me funcionara directamente con Nginx, y no veo la manera de hacerlo (sobre todo quiero hacerlo por que tenga certificado Let's Encrypt y se renueve automáticamente).

He probado a instalar Nginx directamente en Home Assistant y me da exactamente el mismo problema (https://www.youtube.com/watch?v=zQvNNOCUd-s). He probado incluso el hacer un subdominio de DuckDNS.org pero no consigo que funcione, ni con Nginx ni sin él (que también parece ser que debería funcionar sin él)..

Seguro que alguien que controle me sabe decir dónde estoy metiendo la pata... pero es que yo ya no sé dónde puede estar el error. ¿Alguien me podría arrojar luz?

Muchísimas gracias de antemano.
Home Assistant es un poco especial, como ya has podido comprobar.

Prueba lo siguiente desde nginx proxy manager
Activa en el host de home Assistant,
   
Luego en customs locations vuelves a definir la ruta de acceso
Location /
Scheme http
Ip 192.168.5.101
Fordward port 8123
Y en el icono del engranaje (rueda dentada) escribes:
Código:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
add_header Content-Security-Policy "upgrade-insecure-requests";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Cache-Control "no-transform" always;
add_header Referrer-Policy no-referrer always;
add_header X-Robots-Tag none;
proxy_hide_header Upgrade;
proxy_hide_header X-Powered-By;
En SSL fuerzas ssl y eliges letsencrypt

Y creo que con eso, te debería funcionar.
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder
#3
(09-01-2023, 08:30 AM)Ganekogorta escribió: Y creo que con eso, te debería funcionar..

Mil gracias @Ganekogorta.

He probado lo que me has indicado y seguimos igual.

Indicas que "Luego en customs locations vuelves a definir la ruta de acceso". No sé si pudiera estar aquí el problema. No tengo asignada ninguna "custom location", porque al tener Home Assistant con Virtual Station, cuando busco la carpeta donde está, me aparece un fichero de imágen, al que no puedo acceder como si fuera una carpeta.

Pero no estoy seguro de que esto sea necesario, porque al acceder a "midominio.es:8123" con el puerto abierto en el router ya me lleva directamente a la página de servicio de Home Assistant (sin SSL), y si entro en "homeassistant.local:8123" o "192.168.5.101:8123", también me accede sin problemas.

Parece ser que efectivamente es algo de Nginx, pero no termino de encontrar el qué, y parece que si bien en local puedo acceder, Nginx no puede...

Lo que parece que ha cambiado es que ahora, para que me salga el error "502 Bad Gateway" tengo que poner en lugar de http en el "scheme" del host de Nginx, https. Si pongo http ahora el error que sale es "400: Bad Request"... no sé si esto es un avance...


EDITO: acabo de encontrar algo que, no estoy seguro, pero pudiera explicar mi problema aquí: https://wiki.debian.org/es/KVM
según parece, cuando se crea una máquina virtual en Debian existe esta situación:
Cita:Configurando una red puente

Entre VMs invitadas
Por defecto, QEMU usa macvtap en modo VEPA para proveer acceso a red con NAT o acceso puenteado con otra invitada. Esta configuración permitirá a las invitadas acceder a Internet (si es que hay alguna conexión a internet en la maquina anfitriona), pero no permitirá a la anfitriona ni a otras máquinas en la misma LAN ver o acceder a las invitadas.

Explica cómo solucionarlo con unas librearías o qué se yo... pero esto se me escapa ya del todo...

No sé si alguien me puede confirmar si éste es el problema, y si tiene solución, para ver si he de olvidarme de Home Assistan virtualizado, y hacerlo con Docker (se pierde la opción de usar la Store de HA) o si hay alguna alternativa.

Mil gracias de antemano.


Un cordial saludo.
  Responder
#4
Por si a alguien le interesa, aquí está la solución:
https://community.home-assistant.io/t/ho.../322163/60

Un saludo.
  Responder




Usuarios navegando en este tema: 1 invitado(s)