Nginx

Cómo utilizar Nginx Proxy Manager

Cómo utilizar Nginx Proxy Manager
Nginx es un servidor web popular y un proxy inverso que se utiliza para enrutar el tráfico y redirigirlo a otro servidor. Configurar Nginx como proxy inverso puede llevar mucho tiempo y ser propenso a errores y configuraciones incorrectas. Esta guía le mostrará cómo configurar y usar el administrador de proxy Nginx para una administración y configuración más fáciles. Antes de sumergirse en el tutorial, hay algunos requisitos previos. Necesitará:

  1. Un servidor Linux
  2. Docker y Docker componen instalados en el servidor
  3. Root o usuario con permisos sudo

Si tienes todo esto, déjanos sumergirte.

¿Qué es Nginx Proxy Manager??

El administrador de proxy de Nginx (NPM) es un sistema de administración de proxy inverso que se ejecuta en Docker. NPM se basa en un servidor Nginx y proporciona a los usuarios una interfaz web limpia, eficiente y hermosa para una administración más sencilla. La herramienta es fácil de configurar y no requiere que los usuarios sepan cómo trabajar con servidores Nginx o certificados SSL. NPM es una herramienta de código abierto mantenida por desarrolladores de todo el mundo. Es ideal para entornos de servidores pequeños y entornos de laboratorios privados. Este tutorial se centrará en mostrarle cómo implementar el administrador de proxy Nginx:

Instalación de Docker y SQLite

El administrador de proxy de Nginx se ejecuta como un contenedor de ventana acoplable; por lo tanto, requiere Docker y docker-compose instalados en el servidor. En aras de la simplicidad, solo ilustraré cómo instalar Docker en Ubuntu. Consulte la documentación de Docker para obtener referencias sobre cómo configurarlo en otros sistemas. Para instalar Docker en Ubuntu, comience eliminando las instalaciones antiguas de Docker. Omita esto si no hay ninguno disponible.

sudo apt-get remove docker docker-engine docker.io containerd runc

A continuación, instale el repositorio y todas las dependencias usando los comandos:

sudo apt-get update
sudo apt-get install apt-transport-https ca -ificates curl gnupg lsb-release -y

Agregue la clave GPG del repositorio de Docker:

curl -fsSL https: // descargar.estibador.com / linux / ubuntu / gpg | sudo gpg --dearmor -o / usr / share / keyrings / docker-archive-keyring.gpg

A continuación, agregue el repositorio estable usando el comando echo como:

echo "deb [arch = amd64 firmado por = / usr / share / keyrings / docker-archive-keyring.gpg] https: // descargar.estibador.com / linux / ubuntu \
$ (lsb_release -cs) estable "| sudo tee / etc / apt / sources.lista.d / docker.lista> / dev / null

Finalmente, actualice los repositorios e instale Docker usando los comandos:

sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose -y

Ahora ejecute Docker y habilite al inicio:

sudo systemctl enable docker.Servicio
sudo systemctl start docker.Servicio
sudo systemctl enable containerd.Servicio

Instalar SQLite

El siguiente paso es instalar la base de datos SQLite que usaremos para ejecutar NPM. Es bueno tener en cuenta que también puede usar la base de datos MySQL.

Implementar NPM en Docker

Para implementar Nginx Proxy Manager, necesitamos crear un archivo docker-compose para ejecutar Docker e inicializar el contenedor. Para obtener más información sobre el archivo de redacción de Docker y cómo funciona, considere los recursos vinculados aquí. Le recomiendo que cree el archivo docker-compose en un directorio que tenga todos los permisos.

nano docker-compose.yaml

A continuación, agregue las siguientes líneas al archivo de redacción, guarde y cierre.

versión: "3"
servicios:
aplicación:
imagen: 'jc21 / nginx-proxy-manager: latest'
reiniciar: siempre
puertos:
# Puerto HTTP
- '80: 80 '
# Puerto HTTPS:
- 443: 443
# Interfaz de usuario de administrador
- 81: 81
ambiente:
DB_SQLITE_FILE: "/ data / npm.sqlite "
volúmenes:
- ./ datos: / datos
- ./ letsencrypt: / etc / letsencrypt

Finalmente, ejecute el comando docker-compose como:

docker-compose up -d

Esto implementará la pila de la imagen NPM especificada en el archivo docker-compose. Salida de creación:

Creando la red "debian_default" con el controlador predeterminado
Extrayendo la aplicación (jc21 / nginx-proxy-manager: última)…
último: Extrayendo de jc21 / nginx-proxy-manager
801bfaa63ef2: Pull complete
7927cd3bbe4c: Extracción completa
f53b85628da5: Extracción completa
e834c30791f9: Extracción completa
6b68b3708dd5: Extracción completa
963fe519b5fd: tirar completo
37e54d057f10: Tire completo
-------------------------------------
Resumen: sha256: b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Estado: imagen más reciente descargada para jc21 / nginx-proxy-manager: última
Creando debian_app_1… hecho

Acceder a la interfaz de usuario de NPM

Una vez creada y en ejecución, puede iniciar sesión en la interfaz utilizando la dirección IP y el puerto especificados en el archivo docker-compose. En este caso, el puerto 81.

http: // IP: 81

Sería mejor si aterrizara en la interfaz de usuario de inicio de sesión de NPM. Ingrese el nombre de usuario y la contraseña como:

[email protected] y changeme, respectivamente.

En el inicio de sesión inicial, deberá actualizar los detalles del administrador.

Una vez que actualice todos los detalles del usuario, accederá al panel principal desde donde puede configurar sus hosts proxy:

Trabajando con NPM

Una vez instalado y asegurado que el administrador de proxy se está ejecutando, podemos agregar un host de proxy para exponer un servicio que se ejecuta en el servidor. Navegue a Hosts - Proxy Hosts y haga clic en Add Proxy Host.

Seleccione el esquema como HTTP o HTTPS. Si el servicio que desea exponer no admite el tráfico HTTPS, quédese con HTTP. A continuación, agregue los nombres de dominio, el nombre de host de reenvío y la IP. También puede seleccionar Bloquear exploits comunes para mayor seguridad.

Una vez que haya expuesto el servicio, intente acceder a él utilizando el nombre de host o la IP y el puerto especificados. Este servicio debe ser accesible. También puede administrar el proxy en la lista de hosts de proxy.

Lista de acceso de NPM

En algunos casos, es posible que necesitemos exponer una aplicación o servicio en la lista de proxy de NPM a direcciones IP específicas. Para configurar esto, puede usar la Lista de acceso de NPM.

Navegue a la Lista de acceso y haga clic en Agregar lista de proxy. Aquí, dales un nombre a una lista de acceso; también puede seleccionar Satisfacer Cualquiera.

En la pestaña de autorización, configure los nombres de usuario y las contraseñas que utilizará para iniciar sesión en el servicio.

Vaya a la pestaña Acceso y agregue las direcciones IP desde las que desea permitir conexiones y rechace todas las demás.

Para adjuntar la Lista de acceso a una aplicación web específica, navegue hasta Hosts - Proxy Host y seleccione su host. Haga clic en Editar y configure la lista de acceso como se define arriba.

Aprovisionamiento de certificados SSL

NPM también le permite proporcionar certificados SSL en varios nombres de dominio. Antes de agregar un nombre de dominio a la provisión de SSL, asegúrese de que el dominio apunte al servidor proxy NPM.

Navegue a los certificados SSL y haga clic en Agregar certificado SSL. Proporcione los nombres de dominio y la dirección de correo electrónico de Let's Encrypt. Finalmente, acepte los términos de servicio y ahorre. También puede agregar un desafío de DNS, pero no lo cubriré en este tutorial.

Esto creará un nuevo certificado SSL de confianza.

Personalizar la página de inicio

También puede personalizar la página web predeterminada para el servidor NPM. Haga clic en Configuración - Sitio predeterminado y seleccione Editar. Puede elegir mostrar un ERROR 404, Redirigir a una nueva dirección o Crear una página personalizada.

Por ejemplo, a continuación se muestra un código HTML para mostrar 403 Prohibido.







403 - Prohibido


FUENTE: CodePen https: // codepen.io / blecaf / pen / NLoEPY

Conclusión

Este tutorial ha analizado la instalación y la implementación del administrador de proxy Nginx en un servidor Ubuntu que ejecuta Docker. Luego cubrimos cómo configurar NPM y agregar hosts al administrador de proxy.

Recuerde: la experimentación constante es la clave para el dominio, así que experimente!

Las 5 mejores cartas de captura de juegos
Todos hemos visto y amado la transmisión de juegos en YouTube. PewDiePie, Jakesepticye y Markiplier son solo algunos de los mejores jugadores que han ...
Cómo desarrollar un juego en Linux
Hace una década, no muchos usuarios de Linux predecían que su sistema operativo favorito algún día sería una plataforma de juegos popular para videoju...
Puertos de código abierto de motores de juegos comerciales
Las recreaciones gratuitas, de código abierto y de motores de juegos multiplataforma se pueden usar para jugar títulos de juegos antiguos y también al...