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

  1. Instalar la aplicación Web Station en tu nas yendo a Package Center.
  2. 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
  3. 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).
  4. 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.
  5. 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.
  6. 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
    • Hostnamelocalhost (escríbelo!!!)
    • Puerto: 5152.



  7. 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.