Nginx Proxy Manager (NPM) es una aplicación de código abierto y gratuita diseñada para simplificar la gestión del proxy de Nginx, SSL, Listas de Acceso y más. Está construido con un panel de control fácil de usar que tiene como objetivo ayudar a aquellos usuarios que no son exactamente expertos en Nginx CLI. Además, también ofrece SSL gratuito a través de Let's Encrypt, integración con Docker y soporte para múltiples usuarios.
En esta guía completa, nuestro objetivo es proporcionar una introducción a Nginx Proxy Manager. Vamos a ir a través de los conceptos básicos de lo que es NPM, cómo funciona, sus características, y más.
El artículo también compara NPM con las configuraciones nativas de NGINX, detalla el proceso de instalación en Docker, y guía a través de la interfaz de usuario y la configuración inicial, concluyendo con una sección de preguntas frecuentes para resolver dudas comunes.

Descargo de responsabilidad: Este material ha sido desarrollado estrictamente con fines informativos. No constituye respaldo de ninguna actividad (incluidas las actividades ilegales), productos o servicios. Usted es el único responsable de cumplir con las leyes aplicables, incluidas las leyes de propiedad intelectual, cuando utilice nuestros servicios o confíe en cualquier información contenida en este documento. No aceptamos ninguna responsabilidad por los daños que surjan del uso de nuestros servicios o la información contenida en este documento de ninguna manera, excepto cuando lo exija explícitamente la ley.
Tabla de contenidos
- ¿Qué es Nginx Proxy Manager?
- NPM frente a configuraciones nativas de NGINX
- ¿Cómo instalar Nginx Proxy Manager?
- ¿Cómo utilizar la interfaz de usuario de Nginx Proxy Manager y configurarla?
- Configuraciones vitales e instalación inicial
- Nginx Proxy Manager FAQ
- Palabras finales
¿Crees que conoces NGINX? Piénselo otra vez.
La mayoría de las configuraciones omiten estas directivas clave: Descargar el plan de 47 directrices1. ¿Qué es Nginx Proxy Manager?
Gestor de proxy Nginx (NPM) es una potente herramienta (proyecto de código abierto bajo licencia MIT) creada para simplificar la gestión del proxy, SSL y otras capacidades de Nginx. Está diseñado con la idea de los usuarios que pueden no estar bien versado en las complejidades de Nginx.
La herramienta permite a los usuarios exponer fácilmente servicios web dentro de su red (u ordenador). En otras palabras, proporciona una pasarela segura y eficaz para el tráfico de Internet. Asimismo, su integración con Let's Encrypt permite a los usuarios proteger sus servicios con certificados SSL gratuitos.
Características principales:
- Bonita interfaz de usuario: Basada en Tabler, la interfaz es intuitiva y fácil de usar.
- SSL gratuito: La compatibilidad integrada con Let's Encrypt permite a los usuarios proteger sus servicios web sin coste adicional.
- Integración con Docker: Nginx Proxy Manager está construido como una imagen Docker. Esto simplifica el despliegue y solo requiere una base de datos para funcionar.
- Múltiples usuarios: Permite configurar usuarios adicionales con distintos niveles de acceso.
¿Para quién está recomendado Nginx Proxy Manager y cuáles son sus casos de uso?
Nginx Proxy Manager está diseñado pensando en la seguridad, por lo que es una opción ideal para redes domésticas o pequeñas empresas que buscan exponer sus servicios a la Internet más amplia. Además, su diseño accesible hace que sea accesible a los usuarios de todos los niveles de habilidad, proporcionando una solución robusta para la gestión de proxies inversos, terminación SSL, y mucho más. Por lo tanto, Nginx Proxy Manager es útil para aquellos que alojan una aplicación web en casa o la gestión de servicios para una pequeña empresa. Es más fácil que nunca aprovechar todas las capacidades de Nginx.
Software y detalles del proyecto:
- Documentación: La documentación de Nginx Proxy Manager es bastante completa. Detalla toda la instalación, configuración y guía operativa. Busque un Archivo README para consultar la documentación oficial detallada.
- Licencia MIT. Se trata de una licencia de software libre permisiva que permite a individuos y organizaciones utilizar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y vender libremente el software y su documentación asociada.
- Popularidad: El proyecto tiene más de 2.2k forks y más de 19.2k estrellas. El número de estrellas y bifurcaciones en GitHub indica el interés y el compromiso de la comunidad con este proyecto.
- Actividad y capacidad de respuesta: Consultando las pestañas issues (1.3k) y pull requests (59) en GitHub, parece que este proyecto está en constante actividad y que sus responsables son realmente receptivos.
- Compatibilidad: Puede instalar el software Nginx Proxy Manager en cualquier sistema que admita Docker (ya que se distribuye como una imagen Docker preconstruida). Esto lo hace adecuado para una gran variedad de entornos.
¿Qué no es Nginx Proxy Manager?
Nginx Proxy Manager (NPM) no está directamente asociado con NGINX, Inc., la empresa que está detrás del servidor web Nginx. Además, no es un servidor web, una red de distribución de contenidos (CDN), un cortafuegos de aplicaciones web (WAF), una autoridad de certificación SSL/TLS independiente ni una solución de alojamiento completa. Y lo más importante, NPM no es un proveedor de servidores proxy; no proporciona servidores proxy. Necesitará un proveedor proxy utilizar y gestionar con NPM.
2. Nginx Proxy Manager (NPM) frente a las configuraciones nativas de NGINX.
Como se dijo en la sección anterior, NGINX (o nginx) es un versátil software de código abierto que sirve como servidor web. También puede funcionar como proxy inverso para equilibrar el tráfico entre servidores. Además, también se puede configurar como un proxy de correo y una caché HTTP.
De forma nativa, puede utilizar el propio NGINX para configurar y gestionar servidores proxy NGINX, así que ¿por qué necesitaría el NGINX Proxy Manager (NPM)?
Eche un vistazo a la siguiente tabla comparativa. En ella se resumen las ventajas y los retos asociados a cada opción.
Comparación entre Nginx Proxy Manager (NPM) y NGINX nativo
| Aspecto | Gestor de proxy Nginx (NPM) | NGINX nativo |
| Interfaz de usuario | Interfaz gráfica de usuario fácil de usar | Interfaz de línea de comandos; curva de aprendizaje más pronunciada |
| Configuración | Simplifica las configuraciones de proxy inverso y SSL | Configuraciones muy personalizables y detalladas |
| Oportunidad de aprendizaje | Puede inhibir el aprendizaje de los matices de NGINX | Ofrece un profundo conocimiento de las configuraciones de servidores web |
| Cambios masivos | La interfaz gráfica de usuario no es eficaz para los cambios masivos; puede dar lugar a errores | Los cambios masivos mediante archivos de configuración son eficaces y fiables |
| Actualizaciones | Actualizaciones menos frecuentes; posibles riesgos de seguridad | Actualizaciones periódicas; más seguro |
| Flexibilidad | Puede carecer de opciones de configuración avanzadas | Acceso a todas las funciones para configuraciones complejas |
| Gestión de fallos del servicio | Un solo error puede hacer que falle todo el servicio | Puede aislar y gestionar fallos individuales del servicio |
| Longevidad | Desarrollo dependiente de un único programador; riesgos en la asistencia a largo plazo. | Amplio apoyo de una gran comunidad |
| Gestión de SSL | Configuración y gestión automatizadas de SSL | Configuración manual; más control sobre las configuraciones SSL |
| Sobrecarga | La interfaz gráfica añade un nivel adicional de gestión | Interacción directa con los archivos de configuración |
| Escalabilidad | Puede no ser adecuado para entornos complejos y escalables | Más adecuado para configuraciones escalables de nivel empresarial |
| Infraestructura como código | Menos adecuado debido a la gestión basada en web | Ideal para prácticas de infraestructura como código |
| Comunidad y apoyo | Más pequeño, depende de la disponibilidad del promotor | Gran comunidad con amplia asistencia y documentación |
Nota: La elección entre NPM y NGINX nativo depende en última instancia de sus necesidades específicas, habilidades y la complejidad de la configuración del servidor que está gestionando. Sin embargo, la tabla comparativa puede ayudarle a hacerse una idea de qué camino tomar. Además, cuando se trata de la gestión de SSL recomendamos utilizar Certificado SSL y TLS Software.
3. ¿Cómo instalar Nginx Proxy Manager?
Para fines de demostración, vamos a instalar el Nginx Proxy Manager en un contenedor Docker a través de Docker Desktop (y Docker Compose).
Para instalar Nginx Proxy Manager en tu máquina Windows usando Docker Compose, sigue estas instrucciones paso a paso:
a. Requisitos.
- Docker y Docker Compose: Asegúrese de que Docker y Docker Compose están instalados en su equipo Windows. Si no es así, puede descargar Docker Desktop para Windows, que incluye Docker Compose, desde la página Sitio web oficial de Docker.
- Docker-Compose se utiliza para definir y ejecutar aplicaciones Docker multicontenedor. Con un archivo YAML, puede configurar los servicios de su aplicación y crear e iniciar todos los servicios a partir de su configuración.
- Tras la instalación, asegúrese de que Docker se está ejecutando comprobando su icono en la bandeja del sistema.

- También puedes comprobar las versiones para asegurarte de que ambas están instaladas. Ejecute "docker -version" para asegurarse de que Docker está instalado y funciona. Ejecute "docker-compose -version" para comprobar si Docker Compose está instalado.
- Puertos: Asegúrese de que los puertos 80, 81 y 443 están disponibles en su sistema, ya que son necesarios para que funcione Nginx Proxy Manager. El puerto 80 se utiliza para HTTP, el puerto 443 para HTTPS y el puerto 81 para acceder a la interfaz de administración.
- Volúmenes: Necesitarás asignar volúmenes para la persistencia de datos. Específicamente, debe asignar un directorio local a /data y /etc/letsencrypt dentro del contenedor para garantizar que sus configuraciones y certificados SSL se conserven durante los reinicios del contenedor. Esto es clave cuando se actualiza la imagen Docker.
b. Crear un archivo Docker Compose
- Abra su editor de texto preferido y cree un archivo llamado docker-compose.yml. O si el archivo ya está creado, simplemente ábralo y añada las siguientes líneas al archivo.
- Pegue el siguiente contenido en el archivo (Asegúrese de que el espaciado y la sangría son correctos para mantener el formato YAML):
| versión: '3.8 servicios: app: imagen: 'jc21/nginx-proxy-manager:latest' restart: a menos que se detenga puertos: - '80:80′ # Puerto HTTP público - '81:81′ # Admin Web Port - '443:443' # Puerto HTTPS público volúmenes: - ./datos:/datos - ./letsencrypt:/etc/letsencrypt |
- Guarde el archivo en una carpeta específica. Esta carpeta también contendrá sus datos y archivos de configuración.

c. Iniciar Nginx Proxy Manager
- Abra un símbolo del sistema o una ventana de PowerShell. Navega al directorio donde guardaste tu archivo docker-compose.yml usando el comando cd. Si tiene problemas con el archivo Docker Compose, le recomendamos que pruebe un validador de YAML en línea como YAMLint para comprobar si hay errores de formato.
- Ejecute el siguiente comando para iniciar el software:
|
1 |
docker-compose up -d |

- Docker comenzará a descargar las imágenes necesarias e iniciará el contenedor Nginx Proxy Manager.

- Ahora, puedes volver a Docker Desktop y asegurarte de que tu nuevo contenedor Docker Nginx Proxy Manager está en funcionamiento.

🔍 Depura menos, despliega mejor con esta lista rápida de NGINX >> Descargar la hoja de trucos
d. Acceda a la interfaz del administrador de proxy Nginx
- Una vez que el contenedor Nginx Proxy Manager se está ejecutando, abra un navegador web y vaya a http://localhost:81. Ahora debería ver la página de inicio de sesión.

e. Inicie sesión en Nginx Proxy Manager
- Utilice las credenciales de inicio de sesión predeterminadas para acceder a la interfaz de administración:
- Correo electrónico: [email protected]
- Contraseña: changeme
- Tras iniciar sesión, se te pedirá inmediatamente que cambies la contraseña por defecto.

- Después de cambiar con éxito el inicio de sesión y las credenciales, puede empezar a configurar sus hosts proxy, certificados SSL y otros ajustes según sus necesidades.
f. Mantenga su instalación
- Mantenga su Nginx Proxy Manager actualizado deteniendo periódicamente su contenedor, extrayendo la última imagen y reiniciando su pila:
|
1 2 3 |
docker-compose abajo docker-compose pull docker-compose up -d |
Siguiendo estos pasos, has instalado con éxito Nginx Proxy Manager en tu máquina Windows usando Docker Compose.
¿Tiene problemas con un proxy lento y poco fiable? RapidSeedbox es la solución.
Mejore la gestión de su proxy Nginx con nuestros proxies robustos y fiables.
¡Salude a la excelencia!
----
4. ¿Cómo utilizar la interfaz de usuario de Nginx Proxy Manager y configurarla?
El Nginx Proxy Manager viene con una interfaz basada en web fácil de usar que le da una manera de configurar y administrar Nginx como servidor proxy.
Repasemos rápidamente los diferentes aspectos presentes en la interfaz de usuario del Administrador de proxy de Nginx.
a. Cuadro de mandos
Viene con un diseño claro que muestra un resumen de Proxy Hosts, Redirection Hosts, Streams y 404 Hosts. El diseño del panel de control permite ver de un vistazo el estado del servidor y acceder rápidamente a las distintas áreas de configuración.

b. Anfitriones.
En esta sección se enumeran todos los hosts, incluidos los hosts Proxy, los hosts de redirección, los streams y los hosts 404. El más importante es el host proxy, que muestra el origen y el destino, si SSL está configurado y su estado en línea. También puede añadir un nuevo host proxy haciendo clic en el botón "Añadir host proxy" e introduciendo los nombres de dominio, eligiendo el esquema y configurando el nombre de host/IP de redireccionamiento y el puerto. Más información en la siguiente sección.

c. Listas de acceso
Esta sección le permite gestionar los controles de acceso. Proporciona seguridad adicional restringiendo qué usuarios pueden ver o gestionar diferentes hosts. También puede utilizar "Añadir lista de acceso" para crear una nueva.

d. Certificados SSL
Esta sección muestra todos los certificados SSL disponibles o en uso, incluidos detalles como el proveedor y la fecha de caducidad. También hay un botón "Añadir certificado SSL" para proteger sus nuevos hosts con certificados SSL.

e. Usuarios.
La sección Usuarios le ofrece una forma sencilla de gestionar los usuarios. Ofrece una visión general de los permisos de usuario y la posibilidad de añadir nuevos usuarios o modificar los existentes.

f. Registro de auditoría
Esta parte de la interfaz de usuario muestra un historial de las acciones realizadas en el Proxy Manager. Este registro de auditoría incluye eventos, actualizaciones de configuraciones y renovaciones de certificados SSL.

g. Ajustes
La configuración ofrece personalización para comportamientos predeterminados, como la respuesta a accesos de host desconocido, con opciones para páginas de error personalizadas. La siguiente captura de pantalla muestra el sitio por defecto (qué mostrar cuando Nginx es golpeado con un host desconocido).

🕶️ Los profesionales no adivinan la configuración de NGINX.
Obtenga las directivas exactas que utilizan los principales administradores de sistemas: Desbloquear la guía de configuración5. Configuraciones vitales y configuración inicial.
Con la interfaz de usuario de Nginx Proxy Manager, puede crear y gestionar fácilmente proxies inversos, aplicar certificados SSL y ajustar la configuración de su servidor sin necesidad de saber mucho sobre Nginx o herramientas de línea de comandos.
Le recomendamos que empiece con las siguientes configuraciones básicas.
a. Configurar hosts proxy
- Vaya a la pestaña "Proxy Hosts" y haga clic en "Añadir Proxy Host".
- Introduzca el nombre de dominio, elija HTTP o HTTPS y proporcione la dirección IP interna y el puerto del servicio al que está enviando el proxy.
- También puede cambiar parámetros como ubicaciones, asignar SSL y cambiar la configuración personalizada de Nginx desde aquí.

b. Configurar SSL
Vaya a la pestaña 'Certificados SSL'. Haga clic en "Añadir certificado SSL". Elige entre solicitar un nuevo SSL a través de Let's Encrypt o añadir tu propio certificado proporcionando el certificado y la clave privada.
- En el panel de configuración "Add "Let's Encrypt Certificate" añada el Nombre de Dominio (como allí se indica; este debe estar ya configurado en Hosts). Agregue el correo electrónico, acepte los ToS de Let's Encrypt, y pruebe este Certificado a través del Test Server Reachability.
- Añadir certificado SSL: Asignar SSL a Proxy Host: Vaya a la pestaña 'Proxy Hosts'. Haga clic en "Añadir host proxy" o edite un host existente. Introduzca el nombre de dominio y otros datos necesarios. En la pestaña "SSL" del host proxy, selecciona el certificado SSL que has añadido. Elige opciones SSL como soporte HTTP/2, HSTS y redirección de HTTP a HTTPS.

c. Configuración de reglas de cortafuegos.
Aunque Nginx Proxy Manager no maneja directamente configuraciones de cortafuegos, puede establecer reglas que actúan de forma similar a un WAF.
- Listas de acceso: En la pestaña "Listas de acceso", cree una nueva lista de acceso. Defina las reglas para permitir o denegar el acceso basándose en direcciones IP o rangos. También puede habilitar la autorización, exigiendo un nombre de usuario y una contraseña para acceder a determinados servicios.

- Configuración avanzada del host proxy: En los detalles de 'Proxy Hosts', cambie a la pestaña 'Avanzado'. Introduce directivas Nginx personalizadas para controlar el acceso, limitar el número de solicitudes o denegar agentes de usuario e IP problemáticos.
- Puedes añadir reglas como las directivas deny o allow para bloquear o permitir direcciones IP o rangos específicos.

- Ubicaciones personalizadas: Vaya a la configuración de "Nuevo host proxy" (o edite un host proxy existente). Aquí puede definir rutas URL específicas (ubicación) y reenviarlas a diferentes nombres de host y puertos.
- Esto le permite un control más granular sobre el enrutamiento del tráfico entrante a sus servicios internos.

6. Nginx Proxy Manager FAQ.
a. ¿Cuál es la relación entre NGINX y Nginx Proxy Manager?
NGINX es un servidor web de código abierto. NGINX Proxy Manager, o NPM, por su parte, es una herramienta de código abierto que simplifica la gestión de NGINX. El primero es una capa de gestión que simplifica la configuración y gestión de Nginx.
b. ¿Cuáles son algunas alternativas a Nginx Proxy Manager?
Las alternativas a Nginx Proxy Manager incluyen Traefik, Caddy, Servidor HTTP Apache, HAProxic, WinGate, y OpenResty. Merece la pena explorarlas para determinar la que mejor se adapta a sus requisitos e infraestructura específicos. Tenga en cuenta que estas alternativas varían en características, rendimiento y complejidad de configuración.
c. ¿Cómo configuro la terminación SSL con Nginx Proxy Manager?
La terminación SSL se puede configurar en Nginx Proxy Manager. Comience por crear un nuevo host proxy, luego habilite SSL en la pestaña SSL y, por último, elija solicitar un nuevo certificado SSL a LetsEncrypt. También puede importar un certificado existente.
d. ¿Se puede utilizar Nginx Proxy Manager para equilibrar la carga?
Sí, puede configurarse para equilibrar la carga. Puede hacerlo configurando varios servidores backend para un único host proxy y ajustando el método de equilibrio de carga en la configuración "Avanzada". Más información sobre las diferencias entre Proxies inversos y balanceadores de carga
e. ¿Cuáles son los pasos para configurar Nginx Proxy Manager con Docker y Docker Compose?
Para la guía completa para configurar Nginx Proxy Manager con Docker Compose, consulte la guía (sección 3). Pero aquí están los pasos en pocas palabras:
- Instale Docker y Docker Compose.
- Crea un archivo docker-compose.yml con la definición del servicio Nginx Proxy Manager.
- Ejecute docker-compose up -d para iniciar el contenedor.
- Acceda a la interfaz de usuario web en http://:81 para finalizar la configuración.
f. ¿Puedo gestionar proxies inversos con Nginx Proxy Manager?
Puedes gestionar servidores proxy inversos con NPM. Un servidor proxy inverso enruta las peticiones de los clientes al servidor backend apropiado. Esto le permite alojar múltiples aplicaciones o servicios detrás de una única dirección IP (y añadir un cierto nivel de seguridad).
g. ¿Cómo puedo implementar el control de acceso y la limitación de velocidad con Nginx Proxy Manager?
El control de acceso y la limitación de velocidad pueden configurarse en la pestaña "Avanzado" de un host proxy. Puedes añadir directivas Nginx personalizadas para permitir o denegar direcciones IP específicas y limitar las tasas de solicitud para evitar abusos.
h. ¿Cómo gestiono los certificados SSL en Nginx Proxy Manager, incluidas las renovaciones automáticas con LetsEncrypt?
Los certificados SSL se gestionan en la pestaña "Certificados SSL", donde puede solicitar un nuevo SSL a LetsEncrypt, que se renovará automáticamente cuando caduque. También puede cargar certificados SSL personalizados si es necesario.
7. Palabras finales.
En este artículo, exploramos los fundamentos de Nginx Proxy Manager (NPM). Esta herramienta es tan potente y extensa, que sólo tocamos la punta del iceberg. Si desea explorar más, le recomendamos que vaya a través de la documentación oficial (Archivo README).
En la guía, repasamos los conceptos básicos, la descripción completa y la comparación con la herramienta nativa de gestión de proxy de Nginx. La guía abordó todos los aspectos, desde la instalación hasta la configuración y los casos de uso prácticos. Proporcionó información valiosa sobre el aprovechamiento de NPM para la gestión eficiente de servicios web.
Esperamos que esta guía le haya sido útil. Si lo ha sido o no, deje sus comentarios y sugerencias a continuación. Estaremos encantados de recibir sus comentarios.
Hola Diego,
un artículo muy informativo, pero todavía tengo una pregunta.
Cuando se utiliza un servidor web Nginx detrás de un NPM (todo en una sola máquina virtual ), que es irrelevante para la pregunta.
Si quiero aplicar una cabecera de seguridad para la aplicación web, ¿dónde hay que introducirla?
1. ¿en el NPM o 2. en el servidor web NGINX? Debería funcionar en ambos sistemas, pero ¿dónde es mejor desde el punto de vista de la seguridad?
Saludos Juergen
*** Traducido con http://www.DeepL.com/Translator (versión gratuita) ***
Hola Jurgen, lo mejor es aplicar las cabeceras de seguridad en el NPM, principalmente para la seguridad centralizada, la interceptación temprana de malas peticiones, y la prevención de mods de cabecera. Sin embargo, hay algunas advertencias. Por ejemplo, si tu NPM sólo está destinado a ser un proxy inverso, o si necesitas cabeceras dinámicas que dependen de la lógica de la aplicación. De lo contrario, NPM header config es el camino a seguir.