Configuración de un proxy inverso en Apache2 y Nginx

Índice

Configuración de un proxy inverso

En un escenario formado por dos máquinas una de ellas funciona a modo de proxy inverso y la otra como servidor web. En el servidor se crean dos virtual host diferentes con un nombre diferenciado y document root también separados.

Uso de Apache2 como proxy inverso

Existen diferentes formas de implementar un proxy inverso. Una de ellas es usar un servidor web como Apache2. Para poder usar el servidor web de Apache como proxy inverso hay que activar los módulos proxy y proxy_http.

a2enmod proxy proxy_http

Para acceder a las dos páginas diferentes del servidor web se crean en el proxy dos virtual host en los que se comenta la línea del document root y se añade la línea de proxy:

ProxyPass "/" "http://interno.example1.org/"

Para que las redirecciones de las web alojadas en el servidor web funcionan correctamente, el document root tiene que incluir también la línea ProxyPassReverse.

ProxyPassReverse "/" "http://interno.example1.org/"

Para acceder a las páginas alojadas en el servidor web bajo un único dominio como, por ejemplo, www.servidor.org/app1 y www.servidor.org/app2 el proxy se debe configurar en un único virtualhost en el que se define el dominio y dos entradas de proxy, una para cada una de las páginas.

ProxyPass "/app1/" "http://interno.example1.org/"
ProxyPassReverse "/app1/" "http://interno.example1.org/"

ProxyPass "/app2/" "http://interno.example2.org/"
ProxyPassReverse "/app2/" "http://interno.example2.org/"

Uso de Nginx como proxy inverso

Al igual que Apache2, el servidor web Nginx también puede funcionar como proxy inverso. En este caso, para acceder a las dos páginas del servidor web desde dos dominios diferentes, la máquina que funciona como proxy inverso debe contar con un virtual hosta para cada una de ellas. En este virtual host debe estar presente la directiva de proxy.

location / {
    proxy_pass http://interno.example1.org/;
}

Info

La directiva proxy_pass en Nginx ya hace que las redirecciones desde las páginas del servidor web funcionen correctamente y no necesita la configuración de ninguna directiva adicional.

Como en el caso anterior, para acceder a las páginas alojadas en el servidor web bajo un único dominio el proxy se debe configurar también en un único virtualhost en el que se define el dominio y dos entradas de proxy, una para cada una de las páginas, en este caso, usando la directiva location.

location /app1/ {
    proxy_pass http://interno.example1.org/;
    include proxy_params;
}
location /app2/ {
    proxy_pass http://interno.example2.org/;
    include proxy_params;
}
comments powered by Disqus

Relacionados

Configurar redes virtuales (VLAN) en bridges Linux

Este post pretende demostrar el funcionamiento y guiar en la configuración de redes virtuales en un bridge creado en una máquina Debian.

Leer

Instalación de Wireshark y GNS3 en Debian 12 y Windows 10

Wireshark y GNS3 son dos programas fundamentales para el trabajo de un administrador de redes pero instalarlos puede suponer algunos desafíos. Aquí se incluye una guía de instalación de Wireshark y GNS3 en Windows 10 y en Debian 12

Leer

Uso de Openstack para crear un escenario de despliegue

En este post se crea un escenario en OpenStack que consta de 4 máquinas: 2 instancias y dos contenedores LXC que se ejecutan en una de estas dos instancias. Este escenario está orientado a alojar diferentes servicios en cada una de las máquinas en el futuro.

Leer