Nginx Proxy Manager es una interfaz fácil de usar para gestionar reverse proxies. Simplifica el proceso de enrutar el tráfico hacia distintos servicios, haciéndolo accesible incluso para usuarios sin conocimientos profundos de redes. Al proporcionar una interfaz gráfica de usuario (GUI) sobre Nginx, esta herramienta permite configurar y administrar rápidamente proxy hosts, certificados SSL y otras configuraciones avanzadas, sin necesidad de trabajar con comandos complejos en la línea de comandos.
La instalación de Nginx Proxy Manager es sencilla gracias a Docker. A continuación, una guía paso a paso para ponerlo en funcionamiento:
Tener Docker y Docker Compose instalados en tu servidor en la nube
Conocimientos básicos de los comandos de Docker
Crea un directorio para Nginx Proxy Manager y accede a él:
mkdir nginx-proxy-manager
cd nginx-proxy-manager
Crea un archivo docker-compose.yml con el siguiente contenido:
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: always
ports:
- '80:80'
- '81:81'
- '443:443'
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
db:
image: 'mysql:5.7'
restart: always
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
Inicia los contenedores:
docker-compose up -d
Accede a Nginx Proxy Manager mediante la dirección IP de tu servidor en el puerto 81 (por ejemplo, http://localhost:81).
Después de la instalación, es momento de realizar la configuración inicial:
Inicio de sesión:
Abre tu navegador y ve a http://<ip-de-tu-servidor>:81. Las credenciales predeterminadas son:
Correo electrónico: admin@example.com
Contraseña: changeme
Cambiar credenciales predeterminadas:
Actualiza inmediatamente el correo electrónico y la contraseña para proteger Nginx Proxy Manager.
Vista general del panel:
El panel muestra un resumen de tus proxy hosts, certificados SSL y otras configuraciones. Familiarízate con la interfaz.
Para exponer un servicio, debes configurar un nuevo proxy host. Sigue estos pasos:
Ve a la sección “Proxy Hosts”
Haz clic en “Add Proxy Host”
Introducir nombres de dominio:
Introduce los dominios que deseas asociar con este servicio. Puedes añadir varios dominios separándolos por comas.
Hostname/IP de destino y puerto:
Introduce la dirección IP interna y el número de puerto del servicio que deseas exponer.
Ejemplo: si el servicio web se ejecuta en el puerto 8080, introduce 192.168.1.100 y 8080.
Opciones:
Marca “Block Common Exploits” para añadir una capa adicional de seguridad
Activa “Websockets Support” si tu servicio lo requiere
SSL:
Puedes usar un certificado SSL existente o solicitar uno nuevo a través de Let’s Encrypt.
Guardar:
Haz clic en “Save” para finalizar la configuración del proxy host.
Los certificados SSL son fundamentales para proteger tus servicios. Nginx Proxy Manager facilita este proceso:
Solicitar un nuevo certificado SSL:
Ve a la sección “SSL Certificates”
Haz clic en “Add SSL Certificate”
Selecciona “Let’s Encrypt” e introduce los datos necesarios, como el correo electrónico y el dominio
Renovación automática:
Nginx Proxy Manager renueva automáticamente los certificados de Let’s Encrypt, garantizando la seguridad sin intervención manual.
Certificados personalizados:
Si dispones de un certificado SSL propio, también puedes cargarlo desde esta sección.
Nginx Proxy Manager ofrece múltiples opciones avanzadas para ajustar tu configuración:
Listas de acceso (Access Lists):
Restringe el acceso a los servicios creando listas de acceso
Permite o deniega el tráfico según direcciones IP
Hosts de redirección (Redirection Hosts):
Configura fácilmente redirecciones de un dominio a otro
Stream Hosts:
Utiliza la función de stream para gestionar tráfico TCP/UDP, como servicios SSH o FTP
Configuración personalizada de Nginx:
Añade directivas personalizadas de Nginx si tu servicio requiere configuraciones específicas
Exponer un servicio con Nginx Proxy Manager implica varios pasos:
Identificar el servicio:
Determina la IP interna y el puerto del servicio que deseas exponer.
Crear un proxy host:
Sigue los pasos descritos en la sección “Configuración de un nuevo proxy host”.
Habilitar SSL:
Solicita un certificado SSL para el dominio asociado al servicio.
Probar la configuración:
Accede al servicio mediante el dominio para confirmar que todo funciona correctamente.
Supervisar y ajustar:
Revisa periódicamente el rendimiento y ajusta la configuración según sea necesario.
Nginx Proxy Manager incluye funciones integradas de monitorización y registro:
Registros (Logs):
Accede a los registros desde la sección “Logs”
Incluyen información detallada sobre las solicitudes entrantes, como direcciones IP, rutas solicitadas y estados de respuesta
Monitorización:
Usa el panel para supervisar el estado de los proxy hosts y certificados SSL
Asegúrate de que los certificados SSL estén actualizados y que todos los servicios funcionen correctamente
Errores de certificado SSL:
Verifica que el dominio apunte correctamente a la IP del servidor
Comprueba que los puertos 80 y 443 estén abiertos y accesibles
502 Bad Gateway:
Asegúrate de que el servicio expuesto esté en ejecución y sea accesible internamente
Confirma que la IP interna y el puerto configurados sean correctos
Tiempos de espera en la conexión:
Revisa la configuración del firewall para evitar bloqueos de tráfico
Prueba la conectividad entre el servidor y el servicio
Nginx Proxy Manager simplifica significativamente la exposición de servicios y es una herramienta excelente tanto para principiantes como para usuarios avanzados. Gracias a su interfaz intuitiva y a sus potentes funciones, puedes configurar rápidamente reverse proxies, proteger tus servicios con certificados SSL y solucionar cualquier problema que surja. Siguiendo los pasos de esta guía, podrás gestionar y exponer servicios de forma eficiente con Nginx Proxy Manager.