Nginx Proxy Manager: Gestión de proxies inversos con interfaz gráfica
Contenedor Docker para administrar hosts proxy Nginx con SSL automático mediante Let's Encrypt
Vídeo tutorial en YouTube
Mira el vídeo completo sobre cómo instalar y usar Nginx Proxy Manager: Gestión de proxies inversos con interfaz gráfica en el canal GENBYTE:
¿Qué es Nginx Proxy Manager: Gestión de proxies inversos con interfaz gráfica?
Nginx Proxy Manager es un proyecto open source que proporciona un contenedor Docker preconstruido para gestionar hosts proxy Nginx mediante una interfaz de administración sencilla y potente. El objetivo del proyecto es permitir el proxy inverso con terminación SSL de forma tan simple que cualquier usuario pueda configurarlo sin conocimientos profundos de Nginx o Let's Encrypt. Incluye una interfaz de administración basada en Tabler, gestión de certificados SSL gratuitos mediante Let's Encrypt, listas de acceso, autenticación HTTP básica, configuración avanzada de Nginx para usuarios expertos, gestión de usuarios, permisos y registro de auditoría.
Características principales
Interfaz de administración segura y atractiva
Panel de control basado en Tabler que permite crear y gestionar hosts proxy, redirecciones, streams y hosts 404 de forma visual.
SSL gratuito con Let's Encrypt
Obtención y renovación automática de certificados SSL válidos para dominios públicos, con opción de usar certificados personalizados.
Listas de acceso y autenticación HTTP básica
Control de acceso a los hosts mediante listas de IP permitidas/denegadas y autenticación básica de usuario/contraseña.
Configuración avanzada de Nginx
Posibilidad de inyectar directivas Nginx personalizadas para usuarios que necesitan control granular sobre el comportamiento del proxy.
Gestión de usuarios y auditoría
Sistema de usuarios con permisos y registro de auditoría para trazabilidad de cambios en la configuración.
Despliegue sencillo con Docker Compose
Configuración mínima mediante un archivo docker-compose.yml con volúmenes persistentes para datos y certificados.
Requisitos del sistema
- Docker Engine instalado
- Docker Compose (v2 o superior)
- Puertos 80 y 443 accesibles desde Internet para validación Let's Encrypt y tráfico HTTP/HTTPS
- Puerto 81 accesible para la interfaz de administración
- Dominio público apuntando a la IP del servidor (para certificados Let's Encrypt)
Instalación con Docker Compose
Crear archivo docker-compose.yml
Configuración mínima recomendada por la documentación oficial. Los volúmenes ./data y ./letsencrypt persisten la base de datos, configuración y certificados SSL.
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
Levantar la pila
Ejecuta el contenedor en segundo plano. La primera inicialización puede tardar unos segundos por la generación de claves.
Acceder al proyecto
Interfaz de administración
Accede al panel de control en el puerto 81 del host donde se ejecuta el contenedor. Ejemplo local: http://127.0.0.1:81. Las credenciales iniciales no se documentan en el README; consulta la documentación oficial para el primer inicio de sesión.
Casos de uso
- Exponer servicios caseros (Home Assistant, Plex, Nextcloud, etc.) de forma segura con HTTPS válido
- Centralizar la terminación SSL para múltiples aplicaciones internas
- Gestionar redirecciones de dominios y subdominios sin tocar configuración de Nginx
- Proteger servicios internos con listas de acceso IP o autenticación básica
- Utilizar como puerta de entrada única para una red doméstica o de pequeña empresa
Configuración avanzada
Configuración avanzada de Nginx por host
Desde la interfaz, cada host proxy permite añadir directivas Nginx personalizadas en la pestaña 'Advanced' para casos como WebSocket, cabeceras específicas, limitación de tasa, etc.
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Uso de certificados SSL propios
Además de Let's Encrypt, la interfaz permite subir certificados y claves privadas propios (PEM) para dominios internos o certificados wildcard.
Streams (proxy TCP/UDP)
Soporte para reenviar tráfico TCP/UDP sin terminación SSL, útil para bases de datos, MQTT, juegos, etc.
Gestión y mantenimiento
Actualizar a la última versión
Descarga la imagen más reciente y recrea el contenedor manteniendo los volúmenes.
docker compose up -d
Copias de seguridad
Realiza backup de los directorios ./data (base de datos SQLite, configuración) y ./letsencrypt (certificados y claves).
Consultar logs
Revisa los logs del contenedor para diagnosticar problemas de renovación de certificados o errores de proxy.
Stack técnico
- TypeScript (frontend y backend)
- Node.js (runtime del servidor de administración)
- Nginx (motor de proxy inverso)
- SQLite (base de datos embebida para configuración y usuarios)
- Tabler (framework UI para el panel de administración)
- Docker (empaquetado y distribución)
- Let's Encrypt / ACME (certificados SSL automatizados)
Referencias oficiales
- Repositorio oficial en GitHub: https://github.com/NginxProxyManager/nginx-proxy-manager
- Sitio web y documentación oficial: https://nginxproxymanager.com
- Guía de instalación completa: https://nginxproxymanager.com/setup/
- Imagen en Docker Hub: https://hub.docker.com/r/jc21/nginx-proxy-manager
- Capturas de pantalla de la interfaz: https://nginxproxymanager.com/screenshots/
- Issues y soporte: https://github.com/NginxProxyManager/nginx-proxy-manager/issues
- Discusiones de la comunidad: https://github.com/NginxProxyManager/nginx-proxy-manager/discussions
- Subreddit comunitario: https://reddit.com/r/nginxproxymanager
Apoya el canal GENBYTE
¿Te ha sido útil este contenido?
Suscríbete a YouTube
Newsletter GENBYTE
Ko-fi
Contacto: [email protected]
