Proxy reverse Nginx
Configuraci贸n de un proxy en Nginx
Last updated
Was this helpful?
Configuraci贸n de un proxy en Nginx
Last updated
Was this helpful?
En este tutorial vamos a configurar un servidor Ubuntu con Nginx como un proxy para un servidor que tambi茅n tiene instalado un servidor web con Nginx en Ubuntu Linux. Dicho en otras palabras, cuando solicitemos ver la p谩gina www.kirby.com de un servidor veremos la p谩gina que existe en otro servidor.
Las tres VM que voy a utilizar para testear son:
Ubuntu Server 23.10
192.168.2.4
Debian 11
192.168.2.110 (DHCP)
Debian 11
192.168.2.105 (DHCP)
El siguiente diagrama de red muestra lo que estoy diciendo:
Las tres VM est谩n en adaptador Red NAT. El Ubuntu Server (verde) hace de servidor de DNS y DHCP as铆 como dos sitios web: www.kirby.com y www.punky.com. Para el sitio web kirby.com he habilitado el m贸dulo de PHP. El sitio web punky.com es solo una p谩gina web est谩tica.
En la VM con Debian (azul) que tiene IP 192.168.2.110 tenemos un sitio web tambi茅n configurado con Nginx. De hecho, es una VM utilizada como DMZ mientras hac铆a pruebas con el firewall pfSense.
La tercera VM, el servidor de Debian (lila) la utilizar茅 solo para acceder a los sitios web de los otros dos servidores.
Dado que ya tengo configurado el servicio web con Nginx en el equipo de Ubuntu Server, solo me queda agregar un par de par谩metros en la configuraci贸n, as铆 que vamos all谩. Como se puede ver en la imagen a continuaci贸n, el 煤nico par谩metro que he agregado a la configuraci贸n del sitio web: www.kirby.com en Nginx es:
Este par谩metro: proxy_pass
se usa en Nginx para configurar un servidor proxy inverso. Dicho par谩metro indica la direcci贸n del servidor backend al que Nginx debe pasar las solicitudes entrantes, o sea, el par谩metro proxy_pass
especifica la URL a la que se deben enviar las solicitudes HTTP o TCP recibidas por el servidor Nginx para que el proxy inverso
las reenv铆e al servidor backend
correspondiente.
En nuestro caso, significa que todas las solicitudes recibidas por Nginx bajo la ubicaci贸n /
ser谩n enviadas al servidor backend especificado por http://192.168.2.110:80
.
Por lo tanto, el proxy_pass
es una herramienta importante a la hora de configurar Nginx cuando se quiere implementar un servidor de proxy inverso
, que es utilizada para equilibrar la carga de tr谩fico web, enmascarar la direcci贸n IP del servidor backend, etc.
Una vez se haya modificado nuestro archivo de configuraci贸n correspondiente a www.kirby.com reiniciamos el servicio de Nginx:
En nuestro ejemplo, el servidor Nginx en Ubuntu funcionar谩 como proxy y enviar谩 todas las solicitudes al servidor remoto que, en mi caso, es el Debian con IP 192.168.2.110. Vamos a comprobarlo desde a VM Debian con IP 192.168.2.105. Nos vamos al navegador y llamamos a www.kirby.com y en lugar de visualizar el contenido de dicho sitio veremos el contenido de la p谩gina web del otro servidor de Debian con IP 192.168.2.110.
Si eres uno de mis alumnos te aseguro que tienes todos los elementos para probar este ejemplo y que no te lleve m谩s de 30 minutos como mucho :-)