Cómo configurar y utilizar Nginx Proxy Manager eficazmente

Comentarios: 0

Como parte del desarrollo web moderno y la administración de sistemas, la configuración de Nginx Proxy Manager es indispensable. Facilita la emisión automatizada de certificados SSL y la configuración del servidor intermediario inverso a través de una interfaz fácil de usar, aliviando así la carga de los complejos sistemas de configuración. Esto supone una ventaja para los desarrolladores web de todos los niveles. Centrémonos primero en lo que implica NPM, en qué se diferencia del proxy Nginx estándar y qué problemas resuelve.

¿Qué es Nginx Proxy Manager?

Para sacar el máximo partido a esta herramienta, es importante aclarar primero las diferencias entre el Nginx original, con el que a menudo se confunde, y el concepto de proxy inverso.

Un sistema basado en la nube proxy inverso facilita una miríada de funciones críticas que incluyen el filtrado del tráfico, el equilibrio de la carga y la ocultación al cliente del funcionamiento real de los servidores internos. Esto mejora la seguridad externa, la fiabilidad interna y el rendimiento general. En pocas palabras, los proxies inversos son soluciones del lado del servidor, a diferencia de los proxies directos, que operan del lado del cliente.

Sirve como software para un servidor intermediario de tipo inverso y de correo, un equilibrador de carga y una caché HTTP. Nginx Proxy Manager es una aplicación construida a partir del código fuente del Nginx original. Actúa como una capa de gestión adicional que administra las funciones inversas.

Diferencias entre Nginx Proxy Manager y Nginx

Junto con la arquitectura y los principios de diseño compartidos, Proxy Manager difiere de Nginx estándar en varios aspectos importantes. Las diferencias se recopilan en esta tabla comparativa resumida a continuación.

Característica Gestor de proxy Nginx
Interfaz de gestión Ofrece una interfaz gráfica de usuario visual que simplifica la configuración del servidor intermediario Gestión a través de la CLI mediante directivas como proxy_pass, que requieren conocimientos técnicos más profundos.
Gestión de SSL Carga y renovación automáticas de certificados SSL Requiere la intervención manual de un administrador del sistema
Configuración Acceso Limitado Acceso total a través del terminal
Actualizaciones Irregular Actualizaciones periódicas y fuerte apoyo de la comunidad
Funcionalidad Algunas funciones sólo están disponibles en versiones específicas Herramientas integradas adecuadas para implantaciones complejas y personalizadas
Escalabilidad Limitado para infraestructuras complejas a gran escala Más adecuado para entornos empresariales escalables y sistemas de alta carga

Capacidades del gestor de proxy Nginx

Antes de configurar el proxy en esta herramienta, es mejor revisar sus capacidades funcionales. Entre sus principales características se incluyen:

  • La configuración de los servidores intermedios se realiza a través de una interfaz adecuada y sin necesidad de tediosas ediciones de los archivos de configuración, por lo que resulta sencilla.
  • La configuración simplificada de los proxies inversos ayuda a los recién llegados a configurar el sistema más rápidamente.
  • La automatización eficaz a través de Let's Encrypt permite a los usuarios realizar el seguimiento y renovar sus certificados SSL automáticamente.
  • Los registros y diversas estadísticas de los servidores intermediarios pueden consultarse directamente a través de la interfaz de usuario.
  • Directo, controlando hasta el último detalle sobre si se producirán o no redireccionamientos, manipulación de nombres de dominio, manejo de peticiones HTTP;
  • Cortar el acceso a determinados activos web mediante el uso de permisos mejora la seguridad de los recursos web.

Evidentemente, la herramienta no sólo ayuda a configurar el proxy inverso en Nginx, sino que también permite al administrador restringir el acceso a los activos web de forma segura.

Ejemplos de uso de Nginx Proxy Manager

Un ejemplo funcional clave es la gestión centralizada de varias aplicaciones. Esta solución informática ofrece un único panel de control desde el que un administrador puede gestionar:

  • todos los ámbitos;
  • certificados de seguridad;
  • configuración del servidor intermediario inverso.

Por ejemplo, un administrador del sistema tiene la capacidad de añadir nuevos sitios, configurar HTTPS, establecer redireccionamientos y controlar el acceso a través de una interfaz de gestión central. El uso de una interfaz de gestión unificada disminuye las posibilidades de error y de interrupción del servicio que introducen las ediciones manuales de los archivos de configuración.

Por otra parte, la configuración de Nginx Proxy Manager puede mejorar la seguridad de los recursos y servidores en la nube, protegiéndolos a través de algunas de sus capacidades incorporadas como:

  • cifrado del tráfico entre el usuario y el servidor;
  • filtrado por dirección IP;
  • configuración de las restricciones de nombre de usuario/contraseña en páginas o directorios;
  • proxy inverso para proteger la IP real del servidor.

Pensemos en una empresa con aplicaciones web (un sitio WordPress, una API REST, un panel de control) alojadas en un VPS en la nube. Para defender estas aplicaciones de amenazas externas y ocultar la estructura interna, un ingeniero DevOps configura la herramienta como se ha descrito anteriormente.

Requisitos de instalación

Todos los sistemas operativos son compatibles con esta herramienta. Para instalarla y utilizarla, se recomiendan las siguientes configuraciones de hardware:

  • Mínimo 1 GB de RAM;
  • Una CPU de 4 núcleos o superior;
  • Al menos 15 GB de espacio libre en disco.

Además, se necesitan credenciales de administrador. Si se inicia la sesión como invitado, será necesario reiniciar con esos derechos elevados u obtenerlos del propietario del PC.

Proceso de instalación: Tutorial de Nginx Proxy Manager

  1. Visite el sitio web oficial del desarrollador. Como primer paso, se recomienda descargar e instalar Docker junto con Docker-Compose. Ambos paquetes deben guardarse en su ordenador.

    1en.png

  2. Abra el terminal y escriba el siguiente comando después de que todo se haya descargado:
    
    sudo apt install docker.io -y
    
  3. Ahora escriba este comando para instalar Docker-Compose:
    
    sudo apt install docker-compose -y
    
  4. Utilice el siguiente comando para comprobar si la instalación se ha realizado correctamente:
    
    docker --version
    docker-compose --version
    
  5. Escriba esto para crear un directorio que contendrá la herramienta. En Windows, se puede crear una nueva carpeta haciendo clic con el botón derecho, en Linux:
    
    mkdir ~/npm && cd ~/npm
    
  6. Dentro de este directorio escriba los comandos para crear el archivo docker-compose.yml. En Windows, haga clic con el botón derecho del ratón en > Nuevo > Seleccione Bloc de notas y, a continuación, asigne un nombre al archivo:

    2en.png

  7. Utilizando Linux/Ubuntu:
    
    nano docker-compose.yml
    
  8. Para cualquiera de las dos opciones, incluya los siguientes datos:
    
    version: '3'
    services:
      app:
        image: 'jc21/nginx-proxy-manager:latest'
        restart: always
        ports:
          - '80:80'
          - '81:81'
          - '443:443'
        volumes:
          - ./data:/data
          - ./letsencrypt:/etc/letsencrypt
    
  9. Guarde el archivo e inicie el contenedor:
    
    docker-compose up -d
    
  10. Inicie su navegador web preferido y escriba la dirección del servidor con el puerto que haya configurado. En este ejemplo, hemos utilizado el puerto 81:
    
    https://IP-address:port
    
  11. Cuando el sitio esté activo, debería aparecer la pantalla de inicio de sesión. Utilice las credenciales predeterminadas del sitio del desarrollador para iniciar sesión:
    
    Email: admin@example.com
    Password: changeme
    
  12. El sistema le pedirá que los cambie tras el primer intento de inicio de sesión.

    3en.png

Eso es todo, la instalación se ha completado con éxito.

Cómo utilizar correctamente el gestor de proxy Nginx

La configuración implica tres pasos principales:

  • Configuración del gestor de proxy inverso Nginx;
  • Instalación del certificado SSL;
  • Configuración de la autorización.

Veamos cómo hacerlo paso a paso.

Configuración de un host proxy

Vaya a la sección "Proxy Hosts", y desde allí seleccione "Añadir Proxy Host". Aparecerá un cuadro de diálogo con estas entradas:

  • Forward Hostname/IP - nombre interno (por ejemplo, 82.211.7.97) o una dirección IP.
  • Puerto de reenvío - 80, 50100 o cualquier otro puerto que dirija el tráfico.
  • Nombres de dominio: dominio activo o inactivo (de prueba), por ejemplo, prueba.dominio.com.
  • Esquema - HTTP o HTTPS, determinado por el tipo de conexión del servidor interno.
  • Bloquear exploits comunes: protege contra las vulnerabilidades más comunes si está marcada.
  • Compatibilidad con Websockets - marque esta casilla si su servicio funciona con WebSockets.

4en.png

Configuración de un certificado SSL

En la misma ventana, vaya a la sección "SSL". Selecciona "Solicitar un nuevo certificado SSL" y activa las siguientes opciones:

  • Forzar SSL - impone HTTPS para todas las conexiones.
  • Compatibilidad con HTTP/2 - opcional, para mejorar el rendimiento.
  • Aceptar las condiciones de servicio de Let's Encrypt: obligatorio para obtener el certificado SSL gratuito.

Haga clic en "Guardar". El certificado se solicitará e instalará automáticamente.

5en.png

Autorización

Para crear una nueva lista de acceso en Nginx Proxy Manager, vaya a la sección "Detalles". Asigne un nombre como "usuarios". Tenga en cuenta la configuración "Satisfacer cualquiera" - si no está marcada, los usuarios deben cumplir todas las condiciones de acceso (autenticación y coincidencia de IP), lo que es más seguro.

6en.png

En la sección "Autorización", especifique qué usuarios deben tener acceso y, para cada usuario, establezca un nombre de usuario y una contraseña: se trata de la autenticación HTTP básica para acceder al sitio.

7en.png

En la pestaña "Acceso", introduzca las direcciones IP a las que se permitirá o bloqueará el acceso. Esto refuerza el acceso basado en las políticas de red corporativas.

8en.png

Una vez creada la lista de acceso, vuelve a la configuración del host de destino y aplica la lista de acceso recién creada en el campo "Lista de acceso". A partir de este momento, se requerirá la autenticación del usuario en relación con el sitio y sólo se concederá el acceso si se cumplen todas las condiciones.

Conclusión

Al revisar esta guía sobre Nginx Proxy Manager, es evidente que se trata de una herramienta multifuncional para configurar proxies inversos, gestionar la seguridad SSL y controlar el acceso a recursos en la nube. Es particularmente útil para desarrolladores y administradores de sistemas que requieren un control centralizado y seguro de docenas de sitios web y servicios, así como para uso personal, como desplegar un servidor doméstico (NAS) o proporcionar acceso remoto seguro a una red de área local.

Entre las principales ventajas de este gestor destacan su amplia compatibilidad con todos los sistemas operativos, una gestión ágil que no requiere interacción con la línea de comandos y una rápida configuración de proxies y SSL.

Comentarios:

0 Comentarios