Reverse Proxy utilizando Squid para varios dominios en diferentes servidores


Que es un “Reverse Proxy” o Proxy Inverso.

Se trata de servidor proxy instalado por delante de uno o más servidores web. Todo el tráfico entrante de Internet y con el destino de uno de esos servidores web pasa a través del servidor proxy. Hay varias razones para instalar un “reverse proxy”:

  • Seguridad: el servidor proxy es una capa adicional de defensa y por lo tanto protege los servidores web.
  • Cifrado / Aceleración SSL: cuando se crea un sitio web seguro, habitualmente el cifrado SSL no lo hace el mismo servidor web, sino que es realizado por el “reverse proxy”, el cual está equipado con un hardware de aceleración SSL (Security Sockets Layer).
  • Distribución de Carga: el “reverse proxy” puede distribuir la carga entre varios servidores web. En ese caso, el “reverse proxy” puede necesitar reescribir las URL de cada página web (traducción de la URL externa a la URL interna correspondiente, según en qué servidor se encuentre la información solicitada).
  • Caché de contenido estático: Un “reverse proxy” puede descargar los servidores web almacenando contenido estático como imágenes u otro contenido gráfico.

Esta instalación la vamos a hacer sobre un sistema Linux, así que lo primero que tendremos que hacer es descargar e instalar el programa:

sudo apt-get install squid

En el directorio /etc/squid encontramos el archivo de configuración squid.conf

Por si las moscas: mv squid.conf squid.conf_orig

Lo editamos: sudo nano squid.conf

 

Configuracion SQuid reverse proxy

Configuracion SQuid reverse proxy



Los ficheros host simplemente incluyen los nombres de los dominios de la siguiente forma:

.dominio_que_sea.com

 

Imaginamos que teneos tres servidores web en tres equipos diferentes: 

  1. 172.26.1.8 —> IIS_2003
  2. 172.26.1.21 –>Apache (Ubuntu 10.04)
  3. 172.26.1.22 –> IIS_2008

y un cuarto servidor “bastión” que es que ejecuta el reverse proxy (squid) y al que se redirigen todas las entradas del router por el puerto 80.

Para no gastarnos mucha pasta en equipos y su correspondiente mantenimineto, utilizaremos el software de Citrix Xen Server para virtualizar todos estos equipos en una misma máquina, con 4 Gb de RAM y 2 discos de 500 Mb, micro Xeon de 4 núcleos repartidos de la siguiente manera:

2Gb RAM y 300 Gb y 2 Núcleos para el Windows 2008 con su IIS y su MySQL
1Gb de RAM y 300 Gb 1 Núcleo para el Linux Ubuntu con su Apache y MySQL
756 de RAM y 10 Gb 1 Núcleo para el Linux Ubuntu y su Squid que nos hará de firewall

 


You must be logged in to post a comment.