Proxy Inverso con Apache2 y Nginx

Introducción

Sobre el escenario que se muestra a continuación, vamos a instalar un servidor web tanto en Servidor2 como en Servidor3 donde servirán una web de ejemplo.

En el Servidor 1 vamos a instalar diferentes configuraciones de proxy inverso, para desde el exterior acceder a las páginas de los servidores 2 y 3 conectados a la red interna.

Los proxy inversos se van a configurar de dos formas:

1º forma

Se accederá a los servidores internos con la siguiente url:

  • Servidor 2: www.servidor.org/pagina1/
  • Servidor 3: www.servidor.org/pagina2/

2º forma

Se accederá a los servidores internos con las siguientes urls:

  • Servidor 2: www.pagina1.org
  • Servidor 3: www.pagina2.org

Esquema

Requisitos previos

Instalar apache2 en la máquina servidor2 y servidor3 y algunos paquetes más necesarios:

Descargar una plantilla html de ejemplo:

Le cambiamos el título en la plantilla por el servidor en el que se encuentre para identificarlos a la hora de hacer el proxy inverso.

Habilitar ciertos módulos para que apache funcione como proxy inverso:

Configurar Servidor 1 con Apache2 Proxy Inverso – Primera forma

Recordatorio: al acceder a http://www.servidor.org/pagina1/ nos mostrará la página de Servidor2 y al introducir http://www.servidor.org/pagina2/ mostrará la página de Servidor3.

En nuestra máquina anfitriona desde la cual accedemos a la dirección ip “pública” a servidor1, debemos añadir el nombre en el fichero /etc/hosts:

Y en el fichero /etc/hosts de Servidor1, resolvemos los nombres de los servidores 2 y 3 internos:

Ahora debemos de instalar apache2 también en servidor1 y añadir el siguiente bloque en el fichero de configuración del sitio por defecto de apache del servidor1

/etc/apache2/sites-available/000-default.conf

El pase de diapositivas requiere JavaScript.

 

 Configurar Servidor 1 con Apache2 Proxy Inverso – Segunda forma

Para realizar la segunda forma, que será introduciendo www.pagina1.com redigirá a la pagina web del servidor2 www.pagina2.com hacia la página de servidor3.

Añadir la resolución de nombres en nuestro /etc/hosts de la máquina anfitriona:

Crear dos virtualhosts para cada sitio web:

/etc/apache2/sites-available/pagina1.conf

/etc/apache2/sites-available/pagina2.conf

Habilitar los sitios:

Y reiniciar el servicio apache2:

El pase de diapositivas requiere JavaScript.

Configurar Servidor 1 con Nginx Proxy Inverso – Primera forma

Desinstalamos apache2 e instalamos nginx:

Servidor1

/etc/nginx/sites-available/default

Reiniciar nginx:

Nota: servidor1 debe seguir resolviendo las direcciones de los servidores internos 2 y 3. Además en nuestro /etc/hosts de la máquina anfitriona que resuelva el dominio www.servidor.org con la ip "pública" del servidor1.

El pase de diapositivas requiere JavaScript.

Configurar Servidor 1 con Nginx Proxy Inverso – Segunda forma

Crear dos virtualhosts para www.pagina1.com  www.pagina2.com:

/etc/nginx/sites-available/pagina1

/etc/nginx/sites-available/pagina2

Crear los enlaces simbolicos para habilitar los virtualhosts:

Reiniciar nginx:

El pase de diapositivas requiere JavaScript.

Autor entrada: CharlieJ

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *