¡Esta es una revisión vieja del documento!
Tabla de Contenidos
NGINX Proxy Manager
NGINX Proxy Manager es una herramienta que facilita la gestión de proxies inversos a través de una interfaz gráfica web sencilla. Permite administrar dominios, redirecciones, certificados SSL y accesos HTTPS sin necesidad de editar manualmente los archivos de configuración de NGINX. En este proyecto, cumple un rol clave al encargarse de enrutar el tráfico entrante hacia los distintos servicios del servidor (Nextcloud, VSCode, Home Assistant, Grafana, etc.) de forma segura y ordenada.
docker-compose.yml
El archivo docker-compose.yml se compone de la siguiente manera:
services: app: image: 'docker.io/jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - '80:80' - '81:81' - '443:443' volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt
Reenvío de puertos - Router
Para garantizar el acceso externo, es necesario configurar el reenvío de puertos en el router. En este caso, se debe redirigir el puerto 443 hacia la dirección IP estática del servidor.
Para ello, accedemos al portal de administración del router y navegamos a la siguiente ruta: Menú → Puertos
De esta forma, todo el tráfico HTTPS entrante en la red será derivado correctamente hacia el servidor, permitiendo el uso de certificados SSL y una conexión segura mediante NGINX Proxy Manager.
Registro de subdominios en Cloudflare
Para hospedar nuestros servicios utilizamos subdominios, los cuales son extensiones del dominio principal que permiten organizar los servicios sin necesidad de adquirir dominios adicionales. La configuración se realiza en Cloudflare, donde ya se debe encontrar delegado tu dominio principal.
Desde el panel de Cloudflare seguimos los pasos: Inicio de sesión → Dominio deseado → DNS → Agregar registro
A continuación, registramos los siguientes subdominios del servidor:
| Tipo de registro | Nombre | Apunta a |
|---|---|---|
| A | nextcloud.tudominio.com.ar | IP pública del servidor |
| A | home.tudominio.com.ar | IP pública del servidor |
| A | grafana.tudominio.com.ar | IP pública del servidor |
| A | dokuwiki.tudominio.com.ar | IP pública del servidor |
| A | vscode.tudominio.com.ar | IP pública del servidor |
Cada uno de estos registros permitirá acceder a los distintos servicios a través de HTTPS, de forma centralizada y segura.
Certificados SSL
Con el fin de aumentar la seguridad del servidor, implementamos la creación y gestión de certificados SSL mediante NGINX Proxy Manager. De esta manera, cada subdominio cuenta con su propio certificado emitido por Let's Encrypt, garantizando una conexión cifrada y autenticada.
Para automatizar este proceso, se utiliza la autenticación con Token de API de Cloudflare, lo que permite a NGINX Proxy Manager validar y renovar automáticamente los certificados SSL sin intervención manual.
Al crear el token en Cloudflare, debemos darle los permisos mínimos necesarios para que NGINX Proxy Manager pueda:
Leer la zona (Zone:Read)
Permite al token identificar qué dominios y subdominios existen en tu cuenta.
Sin este permiso, NGINX Proxy Manager no puede verificar si el dominio que queremos certificar realmente existe en Cloudflare.
Editar DNS (Zone:DNS:Edit)
Permite a NGINX Proxy Manager crear y modificar registros DNS temporales necesarios para la validación del certificado Let's Encrypt.
Sin este permiso, NGINX Proxy Manager no puede generar automáticamente los certificados SSL para los subdominios.
Una vez creado, debemos guardarlo, ya que lo vamos a utilizar en la creación de cada uno de nuestros certificados SSL
