Apache Reverse Proxy: configuración con el módulo mod_proxy
Al implementar un servidor proxy inverso como capa adicional de protección, puedes mejorar la robustez de tu aplicación web y reducir al mínimo el riesgo de ataques. El servidor HTTP Apache tiene muchos módulos y extensiones que admiten varias funciones de proxy. En este artículo, te explicamos paso a paso cómo instalar y configurar un proxy inverso de Apache.
¿Qué es mod_proxy?
Apache es un servidor web de código abierto muy conocido utilizado para ofrecer contenidos web en Internet. Está disponible en muchos sistemas operativos, como Windows, Linux y macOS, y puede ampliarse de forma flexible mediante plugins y módulos.
El módulo mod_proxy permite al servidor web Apache actuar como un proxy inverso reenviando las solicitudes a otro servidor y devolviendo la respuesta al cliente. Esto es muy útil cuando se tienen varios servidores web y se busca distribuir la carga entre ellos. De esta forma, se puede mejorar el rendimiento o construir una arquitectura de alta disponibilidad.
Apache mod_proxy está compuesto por varios módulos, cada uno con sus propias funcionalidades. Aquí tienes algunos de los módulos más importantes:
- mod_proxy: proporciona la funcionalidad principal del proxy inverso y reenvía solicitudes a otro servidor.
- mod_proxy_http: ofrece las funciones de proxy para los protocolos HTTP y HTTPS.
- mod_proxy_ftp: ofrece las funciones de proxy para el protocolo FTP.
- mod_proxy_connect: se utiliza para conexiones SSL encriptadas.
- mod_proxy_ajp: se utiliza para reenviar solicitudes a servidores de aplicaciones compatibles con el AJP.
- mod_proxy_wstunnel: se utiliza para WebSockets.
- mod_proxy_balancer: ofrece funciones de balanceo de carga.
- mod_cache: ofrece varios métodos de almacenamiento en caché.
- mod_headers: se utiliza para la modificación de las líneas de cabecera HTTP.
- mod_deflate: comprime las respuestas HTTP.
El hosting de Linux de IONOS soporta una gran cantidad de módulos de Apache que te permiten configurar rápida y eficazmente tu propio servidor proxy inverso de Apache. También te ofrece un rendimiento escalable y flexible, protección contra ataques de denegación de servicio distribuido (DDoS) y las mejores capacidades y funcionalidades de PHP.
Configurar Apache Reverse Proxy: guía paso a paso
Vamos a suponer que ya tienes Apache instalado en tu sistema. Consulta cómo configurar un servidor web de Apache para obtener información más detallada.
Paso 1. Actualizar el índice de paquetes
Primero debes actualizar la lista de paquetes disponibles.
Introduce el siguiente comando en el terminal:
A continuación, actualiza los paquetes instalados en tu sistema:
Paso 2. Descargar Essential Build Tools
A continuación, instalamos las Essential Build Tools, un conjunto de herramientas y bibliotecas necesarias para crear y compilar aplicaciones en Linux.
Paso 3. Instalar módulos y dependencias
Ahora podemos descargar e instalar los módulos y bibliotecas necesarios para el Apache Reverse Proxy.
Paso 4. Activar los módulos
Antes de activar los módulos, es importante verificar que se han instalado correctamente. El siguiente comando te muestra una lista de los módulos que tienes disponibles:

Al ejecutar el comando a2enmod
, deberás indicar qué módulos quieres instalar. Puedes enumerar los módulos que quieres en una sola línea:
También puedes activar cada módulo individualmente:
Algunos módulos están activos de forma predeterminada, pero con a2enmod
te aseguras de que verdaderamente estén habilitados.
Paso 5. Modificar la configuración predeterminada
Para implementar las funciones de proxy del servidor web Apache, debemos editar el archivo de configuración predeterminado. Se llama 000-default.conf y se encuentra en el directorio /etc/apache2/sites-enabled.
Vamos a configurar un proxy host virtual utilizando los módulos mod_virtualhost y mod_proxy. Puedes ajustar el código conforme a tus necesidades.
Pulsa Ctrl
+ X
y Y
para guardar los cambios y cerrar el editor de texto.
Paso 6. Configurar el balanceo de carga
Si estás utilizando varios servidores backend, te recomendamos distribuir la carga mediante el balanceo de carga.
Puedes utilizar el siguiente código como plantilla e introducirlo en el archivo de configuración predeterminado:
Paso 7. Configurar el soporte SSL
Si quieres utilizar Apache SSL para conexiones cifradas y certificados, necesitas activar un segundo host virtual.
Paso 8. Reiniciar Apache
Una vez hayas terminado de configurar, debes reiniciar el servidor web Apache para que se apliquen los cambios.
Ahora, el Apache Reverse Proxy debería redirigir las solicitudes a tus servidores backend.