Cómo instalar NGINX Reverse Proxy en Ubuntu 22.04

Usar NGINX como Reverse Proxy es una opción muy popular y recomendable. Para configurarlo, solo necesitas instalar NGINX, crear un archivo de configuración y ajustar las configuraciones del servidor. Para terminar, puedes comprobar que todo funcione correctamente utilizando Gunicorn.

Pasos para instalar NGINX como Reverse Proxy en Ubuntu 22.04

Para contar con un servidor web seguro, flexible y eficiente en el uso de recursos, es recomendable utilizar un Reverse Proxy. Este se coloca entre el cliente y el servidor web sin que los usuarios noten su presencia. Una de las mejores opciones para gestionar todas las solicitudes entrantes es NGINX como Reverse Proxy. A continuación, te explicamos cómo instalarlo y configurarlo en Ubuntu 22.04.

Consejo

En nuestra Digital Guide también puedes encontrar artículos acerca de la instalación de NGINX en Ubuntu 20.04 y sobre qué es un servidor Proxy.

Requisitos para una correcta instalación

Para poder instalar un NGINX Reverse Proxy en Ubuntu 22.04, necesitas lo siguiente:

  • tener instalado un servidor Ubuntu,
  • la dirección IP o el dominio Unix del servidor,
  • el dominio de tu servidor,
  • privilegios sudo para el servidor.

Instalar NGINX como Reverse Proxy

Actualiza tu repositorio a través del terminal en el primer paso para tener acceso a los paquetes más recientes. Después, instala NGINX utilizando el comando apt install. Escríbelo de la siguiente forma:

$ sudo apt update
$ sudo apt install nginx
bash

Confirma con [Y] y pulsa [Enter] para implementar los ajustes.

A continuación, configura tu firewall para que NGINX reciba acceso a tu servidor. Para ello, debes añadir una excepción con el siguiente comando:

$ sudo ufw allow 'Nginx HTTP'
bash

Finalmente, comprueba que la instalación de NGINX se ha realizado correctamente. Este es el código que debes usar para ello:

$ systemctl status nginx
bash

Si NGINX se ha instalado correctamente, obtendrás un resultado como este:

nginx.service - A high performance web server and a reverse proxy server
      Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
      Active: active (running) since Mon 2024-06-24 06:52:46 UTC; 39min ago
         Docs: man:nginx(8)
    Main PID: 9919 (nginx)
        Tasks: 2 (limit: 2327)
      Memory: 2.9M
          CPU: 50ms
      CGroup: /system.slice/nginx.service
                 ├─9919 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
                 └─9920 "nginx: worker process"
bash

Crear un archivo de configuración y personalizar el servidor

Después, configura tu bloque de servidor para preparar bien el NGINX Reverse Proxy para tu sistema. Para ello, abre un nuevo archivo de configuración con el editor de texto nano. Usa el siguiente comando, reemplazando “tu_dominio” por el nombre real de tu dominio:

$ sudo nano /etc/nginx/sites-available/tu_dominio
bash

Una vez que el archivo esté abierto, añade el siguiente contenido. Sustituye los marcadores “tu_dominio” y “server_adresse” por tu dominio y la IP o el Unix Domain Socket de tu servidor:

server {
    listen 80;
    listen [::]:80;
    server_name tu_dominio www.tu_dominio;
        
    location / {
        proxy_pass http://server_adresse;
        include /etc/nginx/proxy_params;
    }
}
txt

Guarda y cierra el archivo. El contenido mostrado es el ajuste estándar de NGINX, que utiliza el puerto 80 para reaccionar ante las solicitudes de tu dominio y servidor. La directiva proxy_pass es clave para que NGINX funcione como un Reverse Proxy. Si es necesario, también puedes configurar servidores adicionales.

A continuación, crea un enlace al directorio sites-enabled, al que NGINX accede al principio. Utiliza este comando reemplazando de nuevo el marcador “tu_dominio” por el nombre correspondiente:

$ sudo ln -s /etc/nginx/sites-available/ihre_domain/etc/nginx/sites-enabled/
bash

Comprueba que no hay errores en la configuración:

$ sudo nginx -t
bash

Si no recibes ningún mensaje de error, puedes reiniciar el NGINX Reverse Proxy para aplicar todos los cambios. Para ello, introduce el siguiente comando:

$ sudo systemctl restart nginx
bash

Con ello, ya estará configurado NGINX como Reverse Proxy. En el siguiente apartado te explicamos cómo comprobar el proxy, pero se trata de un paso que no es obligatorio para completar la configuración.

Comprobar el NGINX Reverse Proxy con Gunicorn

Para probar NGINX Reverse Proxy, siempre puedes utilizar tu servidor llamándolo a través de la shell. Como alternativa, puedes usar el servidor web HTTP Gunicorn, que se complementa muy bien con NGINX Reverse Proxy. En primer lugar, actualiza los paquetes e instala el servidor:

$ sudo apt update
$ sudo apt install gunicorn
bash

A continuación, crea una función sencilla que se enviará como respuesta HTTP a tu navegador. Para ello, utiliza otra vez nano:

$ nano test.py
bash

Abre el archivo e introduce este código:

def app(environ, start_response):
	start_response("200 OK", [])
	return iter([b"Esto es una prueba"])
txt

Guarda y cierra el archivo. Después, inicia Gunicorn y accede al módulo de prueba:

$ gunicorn --worker=2 test:app
bash

El resultado debería tener este aspecto:

[2024-06-24 07:09:29 +0000] [10568] [INFO] Starting gunicorn 20.1.0
[2024-06-24 09:14:37 +0000] [10568] [INFO] Listening at: http://127.0.0.1:8000 (10568)
[2024-06-24 09:14:37 +0000] [10568] [INFO] Using worker: sync
[2024-06-24 09:14:37 +0000] [10569] [INFO] Booting worker with pid: 10569
[2024-06-24 09:14:37 +0000] [10570] [INFO] Booting worker with pid: 10570
bash

De acuerdo con esto, Gunicorn está interactuando con la dirección estándar http://127.0.0.1:8000. En el último paso, abre tu navegador y accede al dominio que habías configurado con NGINX. El NGINX Reverse Proxy debería mostrar el mensaje “Esto es una prueba”.

¿Le ha resultado útil este artículo?
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración de su navegador en nuestra. Política de Cookies.
Page top