Requisitos para la creación de certificados Let’s Encrypt para subdominio:
- Tener un domino, o un servicio DDNS que esté configurado para apuntar a la IP pública de tu NAS.
- Poder abrir puertos en el router
Digamos que nuestro dominio se llama xpn.com y queremos crear certificados para una aplicación que está corriendo en un contenedor de docker con el puerto 5152.
Desde tu red accederías a esa aplicación usando tuip:5152 pero tu lo que quieres es entrar desde cualquier sitio usando https://miapp.xpn.com:5152 con sus certificados SSL.
Pasos
- Instalar la aplicación Web Station en tu nas yendo a Package Center.
- Entrar en el router detrás del NAS y hacer un port forward de los puertos 80 y 443 a la ip interna del NAS. Esto significa que desde fuera de la red doméstica si escribes https://miapp.xpn.com o http://miapp.xpn.com deberías poder ver el siguiente pantallazo en tu navegador
- El siguiente paso es crear un Virtual host en Web Station, para ellos abrimos la aplicación y hacemos clic el lado izquierdo en Virtual host y luego en Create Rellenaremos los siguientes datos:
– hostname: miapp.xpn.com
– Port: 80/443
– Document root: Buscar carpeta «web»
– HSTS: marcado
– HTTP/2: marcado y hacemos clic en Ok. (Este paso creo que no es completamente necesario, pero así es cómo lo hice yo y me funcionó a la primera, si alguien prueba saltándose este paso y le funciona todo igual que lo diga y lo quitamos).
- Ahora vamos a crear los certificados Let’s Encrypt para el subdominio. Vamos a Control panel > Security > Pestaña certificate y le damos al botón de Add, elegimos la primera opción (Add new certificate), luego elegimos Get a certificate from Let’s Encrypt y rellenamos Domain name: miapp.xpn.com, Email: el email que quieras y luego Apply.Tardará un pelín y si todo ha ido bien ya tendrás tu certificado.
- Ahora toca (si no los usas para otra cosa) quitar el port forward de los puertos 80 y 443 y añadir el que quieras para tu aplicación por ejemplo 5152.
- Asegúrate de que el contenedor con la aplicación está corriendo y que puedes acceder desde ipdetunas:5152. Si puede acceder, entonces toca crear una entrada en el proxy inverso. Para ello vamos a control panel > application portal > pestaña reverse proxy y le damos a create. Description puedes poner lo que te dé la gana pero yo pondría el nombre de la aplicación:Source:
- Protocol elige HTTPS
- Hostname: miapp.xpn.com
- Port: 5152 o el que necesites
- HSTS y HTTP/2: Marcados los dos
Destination:
- Protocol: el que necesites, normalmente HTTP
- Hostname: localhost (escríbelo!!!)
- Puerto: 5152.
- Ahora solo falta configurar el certificado para esa entrada del proxy inverso. Para ello vamos a control panel > security > certificate y le damos a configure. Esto nos mostrará una lista de servicios y el certificado configurado para cada uno de ellos, vamos a cambiar el de miapp.xpn.com:5152 para que use nuestro certificado.
Con todo esto ya deberíamos poder entrar en https://miapp.xpn.com:5152 desde fuera con los certificados de LE en su sitio.