· 10 min de lectura · actualizado el 15 de agosto de 2026

Nginx Proxy Manager repartiendo varios dominios con certificado hacia contenedores Docker con Redis, PostgreSQL y Nginx detrás

La gestión eficiente de proxies y certificados SSL es fundamental para mantener seguros y accesibles tus servicios web. Nginx Proxy Manager (NPM) es una herramienta poderosa que simplifica la administración de proxies reversos y la gestión de certificados SSL. Ya sea que estés gestionando múltiples aplicaciones en una PC con Linux, una máquina virtual (VM), una Raspberry Pi o incluso un contenedor LXC en Proxmox VE, NPM te ofrece una interfaz intuitiva para centralizar y optimizar tus configuraciones de red.

¿Por Qué Instalar Nginx Proxy Manager?

Antes de sumergirnos en los pasos de instalación, exploremos algunos casos de uso prácticos que demuestran por qué NPM puede ser una adición invaluable a tu infraestructura:

La palabra Why? escrita a mano en negro sobre fondo blanco, abriendo la sección sobre por qué usar Nginx Proxy Manager

1. Acceso Centralizado a Múltiples Aplicaciones

Imagina que tienes varias aplicaciones web corriendo en diferentes contenedores o máquinas, cada una escuchando en distintos puertos o incluso en diferentes direcciones IP internas. Sin NPM, tendrías que acceder a cada aplicación especificando la IP y el puerto en el navegador, por ejemplo:

Con NPM, puedes simplificar este proceso utilizando nombres de dominio (FQDN). Configura redirecciones basadas en el dominio, de modo que solo necesites teclear el nombre de dominio en tu navegador:

2. Reducción de la Complejidad en el Firewall

Esquema de un proxy inverso: varios portátiles atraviesan un cortafuegos hasta un armario de servidores

Sin NPM, para acceder a múltiples aplicaciones externas, tendrías que abrir múltiples puertos en tu firewall y configurar reglas de redirección para cada uno. Esto puede complicar la administración y aumentar las superficies de ataque.

Con NPM, solo necesitas abrir los puertos estándar (80 y 443) en tu firewall. NPM se encargará de redirigir el tráfico interno a las aplicaciones correspondientes según el dominio solicitado. Esto simplifica la configuración del firewall y reduce los riesgos de seguridad asociados con la apertura de múltiples puertos.

3. Gestión Simplificada de Certificados SSL

Ilustración de un candado dentro de un anillo luminoso rodeado de la palabra SSL y trazos de circuito, sobre la gestión de certificados

NPM facilita la obtención y renovación automática de certificados SSL de Let’s Encrypt para cada dominio configurado. Esto elimina la necesidad de gestionar manualmente certificados individuales, asegurando que todas tus aplicaciones estén siempre protegidas con conexiones seguras.

1. ¿Qué es Nginx Proxy Manager?

Nginx Proxy Manager (NPM) es una interfaz web fácil de usar para gestionar proxies reversos con Nginx. Permite configurar y administrar proxies, certificados SSL y reglas de redirección sin necesidad de conocimientos profundos en Nginx. Entre sus características destacan:

Logotipo de Nginx Proxy Manager: un hexágono con degradado naranja y morado

2. Requisitos Previos

Antes de comenzar, asegúrate de cumplir con los siguientes requisitos:

Nota: En mi caso, estaré instalando NPM en un Contenedor LXC (CT) de Proxmox VE, pero los pasos son aplicables a cualquier entorno que soporte Docker, como una PC con Linux, una VM, o una Raspberry Pi.

3. Instalar Docker y Docker Compose

Nginx Proxy Manager corre en Docker, así que hace falta tenerlo instalado. Si aún no lo está, la guía de instalar Docker y Docker Compose en Linux lo cubre paso a paso, incluidos los permisos de usuario y un primer fichero docker-compose.yml comentado. Vuelve aquí cuando docker compose version te responda.

4. Configurar Nginx Proxy Manager con Docker Compose

Ahora que Docker y Docker Compose están instalados, procederemos a configurar NPM.

Paso 1: Crear un Directorio para NPM

Es recomendable mantener los archivos de configuración organizados en un directorio específico.

mkdir npm
cd npm

Paso 2: Crear el Archivo docker-compose.yml

Este archivo define los servicios necesarios para NPM y su base de datos.

sudo nano docker-compose.yml

Copia y pega el siguiente contenido en el archivo:

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP

    # Uncomment the next line if you uncomment anything in the section
    # environment:
      # Uncomment this if you want to change the location of
      # the SQLite DB file within the container
      # DB_SQLITE_FILE: "/data/database.sqlite"

      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'

    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

Paso 3: Iniciar los Servicios de Docker Compose

docker compose up -d

Este comando descargará las imágenes necesarias y levantará los contenedores en segundo plano.

Deberías ver algo como:

Salida de docker compose descargando las capas de la imagen hasta crear la red npm_default y arrancar el contenedor npm-app-1

Paso 4: Verificar que los Contenedores Estén Corriendo

docker ps

Deberías ver el contenedor activo:

Salida de docker ps con el contenedor npm-app-1 en estado Up y los puertos 80, 443 y 81 publicados

5. Acceder y Configurar Nginx Proxy Manager

Ahora que NPM está instalado, procedemos a configurarlo.

Paso 1: Abrir la Interfaz Web de NPM

Desde tu navegador visita:

http://[Dirección_IP_del_Servidor]:81

Si no sabes cual es tu IP usa:

ip a

En nuestro caso:

Salida de ip addr con la dirección 192.168.101.201/24 de la interfaz eth0 recuadrada en rojo

Así que desde el navegador visitamos http://192.168.101.201:81

Paso 2: Configuración Inicial

Al acceder por primera vez, verás la pantalla de configuración inicial:

Pantalla de acceso de Nginx Proxy Manager 2.12.1 con las credenciales iniciales admin@example.com

Paso 3: Edita el usuario de Administración

Una vez que inicies sesión, serás redirigido a esta página. Deberías modificar el nombre, el alias y el correo electrónico para personalizar tu cuenta y mejorar la seguridad.

Ventana Edit User de Nginx Proxy Manager para cambiar el nombre, el apodo y el correo del administrador

A continuación, se te pedirá que cambies la contraseña por una nueva. Asegúrate de usar una contraseña segura.

Ventana Change Password de Nginx Proxy Manager con los campos de contraseña actual, nueva y confirmación

Con estos cambios realizados, ya tendrás lista tu cuenta para continuar con la configuración de los proxies.

Paso 4: Agregar un Proxy Host

Ir al Dashboard, luego haz clic en «Proxy Hosts»

Panel de Nginx Proxy Manager con los contadores a cero y flechas rojas señalando el menú Dashboard y el bloque Proxy Hosts

Presiona el botón «Add Proxy Host».

Lista de Proxy Hosts vacía con una flecha roja señalando el botón Add Proxy Host

Completa la información en la pestaña «Details»:

Pestaña Details de un nuevo proxy host: dominio plex.itrafa.com, esquema https, destino 192.168.101.222 y puerto 32400

Domain Names: Especifica el dominio o subdominio que será redirigido a tu aplicación. En este caso, usaremos plex.itrafa.com.

Scheme: Selecciona http o https, dependiendo de cómo tu servidor está configurado para escuchar. Para este ejemplo, seleccionaremos https. Más adelante puedes configurar un certificado SSL para asegurar la comunicación.

Forward Hostname / IP: Introduce la IP del servidor donde está alojada tu aplicación. Para este ejemplo, usamos 192.168.101.222.

Forward Port: Especifica el puerto al que Nginx Proxy Manager redirigirá las solicitudes. En este caso, Plex usa el puerto 32400.

Block Common Exploits: Habilita esta opción para bloquear exploits comunes.

Websockets Support: Actívalo si tu aplicación utiliza websockets.

Ahora haz clic en la pestaña «SSL» y solicita un nuevo certificado SSL:

Pestaña SSL con el desplegable abierto y la opción Request a new SSL Certificate with Let's Encrypt señalada en rojo

Force SSL: Habilita la opción Force SSL para asegurarte de que todo el tráfico hacia este Proxy Host use HTTPS en lugar de HTTP. Esto redirigirá automáticamente las solicitudes que lleguen por HTTP a HTTPS, garantizando una conexión segura.

Acepta los Términos de Servicio: Marca la casilla I Agree to the Let’s Encrypt Terms of Service para continuar con la generación del certificado.

Guardar los cambios: Haz clic en Save para completar la configuración. Nginx Proxy Manager generará automáticamente el certificado SSL y lo aplicará al Proxy Host configurado.

Pestaña SSL con Force SSL activado y aceptados los términos de Let's Encrypt, y una flecha roja hacia el botón Save

Ahora, al acceder a https://plex.itrafa.com, NPM redirigirá el tráfico al servicio interno correspondiente (ubicado en este caso en 192.168.101.222:32400), manejando automáticamente los certificados SSL.

Sello rojo con la palabra WARNING sobre fondo negro, que precede a una advertencia importante del tutorial

Aclaraciones importantes

Para que este subdominio funcione correctamente en una red privada, debes considerar lo siguiente (lo explicaré en detalle en futuros posts, pero aquí dejo una visión general):

Estos pasos permiten que el tráfico de los subdominios sea redirigido a los servicios internos configurados a través de Nginx Proxy Manager.

De momento, este post se enfoca en la instalación y configuración básica de Nginx Proxy Manager. Los temas de redirecciones de puertos y configuración avanzada de DNS serán tratados en detalle en un futuro post.

6. Casos de Uso Prácticos

Ilustración de casos de uso con iconos de servidores, nube, seguridad y automatización conectados entre sí

Nginx Proxy Manager facilita la gestión de múltiples aplicaciones y servicios en tu red, permitiéndote centralizar el acceso y mejorar la seguridad. A continuación, se presentan algunos casos de uso prácticos que demuestran cómo NPM puede optimizar tu infraestructura:

6.1. Integración con Contenedores y Máquinas Virtuales

NPM se integra perfectamente con entornos que utilizan contenedores Docker o máquinas virtuales, proporcionando una capa adicional de gestión y seguridad. Esto es especialmente útil en infraestructuras de desarrollo y pruebas, donde la flexibilidad y la seguridad son prioritarias.

6.2. Implementación de Acceso Basado en Roles

Puedes configurar múltiples usuarios con distintos niveles de acceso y permisos en NPM. Esto es ideal para entornos colaborativos donde diferentes equipos necesitan gestionar distintas aplicaciones sin interferir entre sí.

7. Consideraciones Adicionales

Compatibilidad con Diferentes Entornos

Aunque en este tutorial hemos instalado NPM en un Contenedor LXC de Proxmox VE, los pasos son prácticamente iguales si decides instalarlo en:

Seguridad

8. Conclusión

Ilustración de cierre con la palabra Conclusions, una bombilla encendida, marcas de verificación y gráficos

Instalar Nginx Proxy Manager en un contenedor Docker es una manera eficiente y flexible de gestionar proxies reversos y certificados SSL en tu infraestructura. Ya sea que lo instales en un Contenedor LXC de Proxmox VE, una VM, una PC con Linux o una Raspberry Pi, los pasos son prácticamente iguales, ofreciendo versatilidad según tus necesidades específicas.

Con NPM, puedes centralizar la gestión de múltiples aplicaciones, simplificar la configuración del firewall, y asegurar todas tus conexiones con certificados SSL automáticos. Además, su interfaz intuitiva facilita la administración incluso para usuarios con conocimientos técnicos limitados.

Si buscas una solución que te permita gestionar tus servicios web de manera centralizada y segura, Nginx Proxy Manager es la elección ideal. Aprovecha las ventajas de Docker para optimizar tu infraestructura y mantener tus servicios siempre disponibles y protegidos.


¿Te ha sido útil este tutorial? Compártelo y apóyanos para seguir creando contenido de calidad.

¡Gracias por tu apoyo!

Seguridad: primeros pasos después de instalar

Nginx Proxy Manager viene con credenciales por defecto ([email protected] / changeme). Cambia la contraseña y el email inmediatamente después del primer login. Si expones el panel a internet sin cambiar estas credenciales, cualquiera puede tomar control de tu infraestructura.

Alternativa sin abrir puertos

Si no quieres abrir puertos en tu router o no puedes (CGNAT, IP dinámica), puedes exponer tus servicios de forma segura con un túnel de Cloudflare. Es gratis, no requiere abrir puertos, y añade protección DDoS. Para configurar tu dominio primero, sigue la guía de cómo conectar tu dominio a Cloudflare.

Lecturas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *