Guía de instalación y configuración de Nginx Proxy Manager

¡Hola! En este post te contaré todo lo que necesitas saber sobre Nginx Proxy Manager: qué es, para qué sirve y cómo instalarlo paso a paso en tu servidor o VPS. ¡Vamos a ello! 😄
1. ¿Qué es Nginx Proxy Manager? 🤔
Nginx Proxy Manager es una herramienta que combina la potencia de Nginx (un servidor web y proxy muy conocido y rápido) con una interfaz gráfica súper sencilla de usar. Su objetivo principal es permitirte gestionar proxies reversos y certificados SSL de manera fácil, sin necesidad de editar manualmente archivos de configuración complicados. Entre otras cosas, te permite:
-
Configurar proxies reversos: redirigir el tráfico que llega a tu dominio o subdominio hacia el servicio o aplicación que quieras en tu red local o servidor.
-
Gestionar certificados SSL: obtener certificados SSL a través de Let’s Encrypt y renovarlos automáticamente para que tu sitio web sea seguro (HTTPS).
-
Control de acceso: puedes configurar usuarios, contraseñas y permisos para acceder a ciertos servicios.
- Redirigir: crear reglas de redirección para distintas rutas o dominios.

En pocas palabras, si tienes varias aplicaciones web en tu servidor y quieres que todas estén bajo distintas rutas o subdominios, Nginx Proxy Manager te facilita la vida un montón. 🙌
2. ¿Para qué sirve Nginx Proxy Manager? 🎯
Hay muchas situaciones en las que Nginx Proxy Manager puede ser tu mejor aliado. Por ejemplo:
- Tienes varias aplicaciones web (por ejemplo, tu WordPress, tu Nextcloud, tu servidor de Plex, etc.) corriendo en el mismo servidor y quieres darles subdominios o rutas diferentes.
- Quieres securizar tus conexiones con certificados SSL de manera fácil (en lugar de configurar Let’s Encrypt manualmente).
- Necesitas crear reglas de redirección avanzadas o limitar el acceso a ciertas partes de tu red.
- Quieres un panel de control intuitivo para gestionar estos proxies sin necesidad de editar directamente la configuración de Nginx.
Básicamente, ahorra muchísimo tiempo y evita dolores de cabeza a la hora de manejar distintas aplicaciones web en el mismo servidor. 🏆
3. Requisitos previos 📋
Antes de empezar la instalación, asegúrate de tener en cuenta lo siguiente:
-
Servidor o VPS con acceso root (o un usuario con privilegios de sudo).
-
Docker instalado y funcionando en tu servidor. (Si no tienes Docker, aquí puedes encontrar la guía oficial).
- (Opcional pero recomendado) Docker Compose instalado.
- Al menos un dominio o subdominio apuntando a la IP de tu servidor para poder emitir certificados SSL.
- El puerto 80 (HTTP) y el puerto 443 (HTTPS) deben estar abiertos en tu firewall (si lo tienes activado).
4. Instalación paso a paso 🛠
A continuación, veremos dos métodos para instalarlo: usando Docker Compose (el más recomendado) y usando solamente Docker.
4.1 Instalación con Docker Compose (recomendada) 🧩
-
Crear un archivo
docker-compose.yml
En una carpeta de tu servidor (por ejemplo/home/tu_usuario/docker/nginxproxymanager
) crea el archivodocker-compose.yml
con el siguiente contenido:
version: '3'
services:
nginxproxymanager:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # Puerto HTTP
- '81:81' # Panel de administración
- '443:443' # Puerto HTTPS
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
-
Levantar el servicio
Sitúate en la carpeta donde creaste eldocker-compose.yml
y ejecuta:
docker-compose up -d
Esto descargará la imagen de Docker y levantará el contenedor en segundo plano.
- Verificar que todo funciona:
- Abre tu navegador y visita la dirección IP o el dominio de tu servidor con el puerto
81
, por ejemplo:http://TU_IP:81
- Deberías ver la página de inicio de sesión de Nginx Proxy Manager.
- Abre tu navegador y visita la dirección IP o el dominio de tu servidor con el puerto

4.2 Instalación con Docker (sin Compose) 🐳
Si no quieres usar Docker Compose, puedes lanzar el contenedor directamente con Docker:
docker run -d \
--name nginxproxymanager \
-p 80:80 \
-p 81:81 \
-p 443:443 \
-v /path/to/data:/data \
-v /path/to/letsencrypt:/etc/letsencrypt \
--restart unless-stopped \
jc21/nginx-proxy-manager:latest
Asegúrate de reemplazar /path/to/data
y /path/to/letsencrypt
por las rutas que desees usar en tu servidor. El resto del proceso (acceso vía http://TU_IP:81
) es exactamente igual.
5. Primer acceso y configuración inicial 🔑
5.1 Iniciar sesión en el panel
- Una vez que el contenedor esté corriendo, entra en tu navegador a:cppCopiarEditar
http://TU_IP:81
- Verás una pantalla de login. Las credenciales por defecto son:
-
Usuario:
admin@example.com
-
Contraseña:
changeme
-
Usuario:
5.2 Cambiar contraseña y usuario
- Al iniciar sesión por primera vez, Nginx Proxy Manager te pedirá que cambies tus credenciales. Hazlo para no dejar la configuración por defecto y mejorar la seguridad. 🔒
6. Agregar tu primer Proxy Host 🌐
- En el panel de Nginx Proxy Manager, haz clic en la pestaña “Proxy Hosts” o “Proxy Hosts (Hosts de Proxy)”.
- Haz clic en “Add Proxy Host” (Agregar host proxy).

- En la ventana que aparece, completa los campos:
-
Forward Hostname / IP: la IP interna o el nombre del contenedor/servicio al que quieres dirigir el tráfico (por ejemplo,
192.168.1.10
o el nombre de un contenedor Docker). -
Forward Port: el puerto en el que está corriendo tu aplicación (por ejemplo,
8080
). - Marca la casilla de “Block Common Exploits” para mayor seguridad.
-
Forward Hostname / IP: la IP interna o el nombre del contenedor/servicio al que quieres dirigir el tráfico (por ejemplo,

- En la pestaña de “SSL”:
- Selecciona “Request a new SSL Certificate”.
- Marca las casillas “Force SSL” y “HTTP/2 Support”.
- Acepta los Términos de Let’s Encrypt.
- Haz clic en “Save” para solicitar el certificado.

¡Listo! Si todo sale bien, ya deberías poder acceder a tu aplicación usando tu dominio o subdominio con HTTPS. 🎉
7. Configuración avanzada 🏗
7.1 Redirecciones (Redirections)
En la sección “Redirection Host” puedes configurar redirecciones de un dominio o subdominio a otro. Perfecto para cuando cambias de dominio o quieres enviar todo el tráfico de un subdominio a otro sitio.
7.2 404 Hosts
Sirve para mostrar una página personalizada si se accede a un dominio que no existe en la configuración de tu proxy.
7.3 Access Lists y Protecciones con contraseña
En la sección “Access Lists” puedes crear listas de control de acceso para proteger ciertas rutas con usuario y contraseña, o limitar accesos por IP.
7.4 Avanzado: Custom Nginx Config
Si necesitas añadir directivas personalizadas de Nginx (por ejemplo, headers especiales, rewrites adicionales, etc.), puedes usar el cuadro de configuración avanzada en cada Proxy Host. Allí puedes pegar fragmentos de configuración Nginx.
8. Mantenimiento y actualización ♻️
8.1 Actualizar Nginx Proxy Manager
Para actualizar la imagen, basta con:
- Detener y eliminar el contenedor actual.
- Volver a ejecutarlo con la última versión del contenedor (
jc21/nginx-proxy-manager:latest
).
Si usas Docker Compose:
docker-compose pull
docker-compose up -d
8.2 Copias de seguridad (Backups)
Para no perder tu configuración (hosts, certificados, etc.), es fundamental respaldar las carpetas o volúmenes que usas para /data
y /etc/letsencrypt
.
9. Conclusión 🏁
Nginx Proxy Manager simplifica enormemente la gestión de proxies reversos y certificados SSL. Si manejas varias aplicaciones en un mismo servidor, esta herramienta es casi imprescindible para ahorrarte tiempo y dolores de cabeza. 😎
Recapitulando:
- Instalas Docker y Docker Compose (o solo Docker).
- Levantas el contenedor de Nginx Proxy Manager.
- Accedes al panel vía
http://TU_IP:81
.
- Cambias credenciales.
- Configuras tus dominios/subdominios y certificados SSL.
- ¡Disfrutas de una gestión centralizada y segura!
Espero que esta guía te haya servido para instalar Nginx Proxy Manager y aprovechar al máximo sus características. Cualquier duda, ¡cuéntamela en los comentarios! 👇
¡Feliz administración de servidores! 🌐🔒✨