Cómo configurar Nginx Reverse Proxy Un tutorial paso a paso

Cómo configurar Nginx Reverse Proxy Un tutorial paso a paso

Un proxy inverso es un tipo de servidor que se encuentra entre un cliente y un servidor, que actúa como intermediario entre los dos. Acepta las solicitudes de los clientes, reenvía esas solicitudes al servidor apropiado y luego devuelve la respuesta del servidor al cliente.

Los proxies inversos a menudo se usan para mejorar el rendimiento y la seguridad de los servidores web, y para permitir que múltiples servidores aparezcan como un solo servidor para los clientes. Por ejemplo, se puede usar un proxy inverso para distribuir solicitudes entrantes a múltiples servidores, para almacenar en caché el contenido estático para mejorar el rendimiento o para cifrar y descifrar el tráfico con fines de seguridad.

Un software popular para configurar un proxy inverso es Nginx (pronunciado "Engine X"). En este artículo, discutiremos cómo configurar un proxy inverso con Nginx usando un ejemplo.

Paso 1: Instale Nginx

El primer paso es instalar Nginx en su servidor. Esto generalmente se puede hacer utilizando el Administrador de paquetes de su sistema operativo (E.gramo. APT-Get on Debian Systems, DNF en Sistemas basados ​​en Red Hat).

Sudo Apt Update && sudo apt install nginx  
sudo dnf install nginx  

Paso 2: Configure la aplicación de backend

Una aplicación de backend debe estar escuchando en algún otro puerto. Por ejemplo, he creado un nodo de muestra.Aplicación JS que atiende a solicitudes entrantes utilizando el módulo Node Express. Esta aplicación está escuchando en Localhost y Port 3000.

servidor de nodo.js 
El depurador de salida escucha en el servidor del puerto 5858 que se ejecuta en http: // 127.0.0.1: 3000/ 

Paso 3: Configurar el bloque de servidor NGINX

Nginx usa bloques de servidor para configurar sitios web individuales. Necesitamos crear un nuevo archivo de configuración de bloque de servidor para nuestro proxy inverso.

sudo nano/etc/nginx/conf.d/proxy inverso.confusión  

Agregue la siguiente configuración al archivo de configuración del bloque del servidor:

servidor escuchar 80; Ejemplo de server_name.com; ubicación/proxy_pass http: // 127.0.0.1: 3000; proxy_set_header host $ host; proxy_set_header X-Real-IP $ Remote_addr; proxy_set_header x-forwarded-para $ proxy_add_x_forwarded_for;
1234567891011servidor escuchar 80; Ejemplo de server_name.com; ubicación/proxy_pass http: // 127.0.0.1: 3000; proxy_set_header host $ host; proxy_set_header X-Real-IP $ Remote_addr; proxy_set_header x-forwarded-para $ proxy_add_x_forwarded_for;

En el archivo de configuración anterior:

  • Escucha 80; Define el puerto en el que Nginx escuchará las conexiones entrantes.
  • Ejemplo de server_name.com; es el nombre de dominio que se utilizará para acceder al proxy inverso.
  • proxy_pass http: // backend-server; le dice a NGINX que reenvíe las solicitudes entrantes al servidor de backend especificado.
  • proxy_set_header host $ host; y proxy_set_header X-Real-IP $ Remote_addr; y proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; se utilizan para establecer encabezados que el servidor de backend puede usar para identificar el cliente original.

Paso 4: Reiniciar Nginx

Antes de reiniciar el servicio NGINX, pruebe los archivos de configuración utilizando el siguiente comando:

sudo nginx -t  

Si la prueba de configuración es exitosa, reinicie NGINX para aplicar los cambios:

sudo systemctl reiniciar nginx  

Nota: Este es un ejemplo básico y, en realidad, es posible que deba configurar otras configuraciones, como SSL, almacenamiento en caché y seguridad. También es posible que deba configurar NGINX para manejar diferentes tipos de solicitudes, como manejar WebSockets o servir archivos estáticos. Además, también es importante considerar el rendimiento y la escalabilidad de su proxy inverso de Nginx, especialmente si espera un alto volumen de tráfico.

Para asegurar su proxy inverso, puede usar certificados SSL. Puede usar Vamos en cifrado para obtener un certificado SSL gratuito. Una vez que tenga el certificado, puede configurar Nginx para usarlo.

Para el almacenamiento en caché, puede usar las directivas proxy_cache_path y proxy_cache_bypass para configurar el almacenamiento en caché para su proxy inverso.

Conclusión

En conclusión, Nginx Reverse Proxy puede ser una herramienta poderosa para administrar múltiples servidores web y mejorar el rendimiento y la seguridad de sus aplicaciones web. Espero que este tutorial le haya proporcionado un buen punto de partida para configurar su propio proxy inverso nginx.