¿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.