Nginx Proxy Manager: Gestión de proxies inversos con interfaz gráfica

Publicado por


nginx-proxy-manager
Docker

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.

Interfaz gráfica completa para gestionar proxies inversos, redirecciones, streams y hosts 404 sin escribir configuración Nginx manualmente, con obtención y renovación automática de certificados SSL de Let's Encrypt.

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.

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

Levantar la pila

Ejecuta el contenedor en segundo plano. La primera inicialización puede tardar unos segundos por la generación de claves.

docker compose up -d

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.

# Ejemplo de directiva personalizada en la UI
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 pull
docker compose up -d

Copias de seguridad

Realiza backup de los directorios ./data (base de datos SQLite, configuración) y ./letsencrypt (certificados y claves).

tar -czf npm-backup-$(date +%F).tar.gz ./data ./letsencrypt

Consultar logs

Revisa los logs del contenedor para diagnosticar problemas de renovación de certificados o errores de proxy.

docker compose logs -f app

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

Apoya el canal GENBYTE

Sígueme en mis redes sociales

Dejar un comentario

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