¿Qué es el proxy inverso?
En resumen, un servidor proxy inverso actúa como un servicio intermediario entre el cliente que solicita un recurso como una página HTTP y uno o más servidores. El uso del proxy inverso permite múltiples ventajas, como rendimiento mejorado, equilibrio de carga, mantenimiento transparente del servidor de servidores detrás del servidor proxy inverso, seguridad mejorada y más.
Escenario básico
En esta sección, configuraremos un proxy inverso básico utilizando el servidor web Nginx en Debian Linux. Ejecutaremos dos servidores separados server1
y server2
. El servidor 1 ejecuta Debian Linux con el proxy inverso Nginx y una dirección IP 10.1.1.251
. Server2 ejecuta un sitio web básico utilizando el servidor web Apache2 en la dirección IP 10.1.1.252
. Asumimos que Server2 está funcionando para servir un contenido en el puerto 80:
$ lynx -dump http://10.1.1.252 Hello this is apache2 sitting on host 10.1.1.252
Como resultado, nuestro enfoque principal estará dedicado al Servidor1 y la configuración del proxy inverso Nginx para que actúe como intermediario entre el cliente y el Servidor2.
Configuración mínima de proxy inverso
Esta sección mostrará una configuración de proxy inverso minimalista que se puede mejorar más tarde para adaptarse a su entorno. Empecemos por nginx
instalación:
# apt-get install nginx
A continuación, deshabilitamos un host virtual predeterminado:
# unlink /etc/nginx/sites-enabled/default
A continuación, cree un nuevo archivo dentro de /etc/nginx/sites-available
directorio para almacenar la configuración de su proxy inverso, por ejemplo, reverse-proxy
con el siguiente contenido:
server { listen 80; location / { proxy_pass http://10.1.1.252; } }
La configuración de proxy inverso anterior es absolutamente minimalista y se explica por sí misma. La característica principal es el proxy_pass
directiva que instruye a nginx
para representar todas las solicitudes que se comunican en el socket 10.1.1.251:80
al enchufe remoto 10.1.1.252:80
.Asegúrese de que su nginx
la configuración no contiene ningún error y reinicie nginx
.
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # service nginx restart
En esta etapa, debería poder consultar su nuevo proxy inverso en la dirección IP 10.1.1.251
y alcanzar un contenido de apache2
ejecutándose en la dirección IP 10.1.1.251
:
$ lynx -dump http://10.1.1.251 Hello this is apache2 sitting on host 10.1.1.252
Una vez que la configuración básica de proxy inverso anterior esté funcionando nginx
contiene varias directivas adicionales para mejorar su configuración.