🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Configurar un proxy inverso en DirectAdmin

Actualizado el 13 de octubre de 2025

¿Qué es un proxy inverso y por qué necesitas uno en DirectAdmin?

Un proxy inverso es un servidor intermediario que se sitúa entre tus visitantes y tu servidor web. Cuando un usuario solicita tu sitio, la petición llega primero al proxy, que la evalúa, la filtra y la reenvía al servidor final (Apache o Nginx) que realmente aloja tu página. La respuesta viaja de vuelta por el mismo camino.

Configurar un proxy inverso en DirectAdmin te permite añadir una capa extra de protección, mejorar el rendimiento y ocultar la estructura interna de tu servidor. Es como poner un guardia de seguridad en la puerta de tu casa: todos los visitantes pasan por él antes de entrar, y tú decides quién pasa y quién no.

Para un usuario de hosting, esto se traduce en varios beneficios prácticos:

  • Ocultar la IP real del servidor: los atacantes no ven directamente tu servidor, sino el proxy.
  • Filtrar tráfico malicioso: puedes bloquear IPs sospechosas o peticiones peligrosas antes de que lleguen a tu aplicación.
  • Balancear la carga: si tienes varios servidores, el proxy distribuye el tráfico entre ellos.
  • Terminar conexiones SSL/TLS: el proxy gestiona los certificados y libera a tu servidor principal de ese trabajo.
  • Cachear contenido estático: imágenes, CSS o JavaScript se sirven desde la caché del proxy, acelerando la carga.

Requisitos previos antes de configurar el proxy

Antes de empezar, asegúrate de tener acceso de administrador a DirectAdmin y que tu servidor tenga instalado Nginx como servidor web frontal. En la mayoría de instalaciones modernas de DirectAdmin, Nginx ya viene configurado como proxy inverso de Apache, pero conviene verificarlo.

Para comprobarlo, accede a tu panel de DirectAdmin y navega hasta Panel de control > Servicios del sistema. Busca en la lista si aparece Nginx y si está en ejecución. Si no lo ves, puedes instalarlo desde el instalador de software que incluye DirectAdmin.

También necesitarás tener un dominio o subdominio configurado en DirectAdmin. Si vas a usar un puerto especial (por ejemplo, el 8080 para una aplicación Node.js), asegúrate de que el firewall del servidor permita el tráfico por ese puerto.

Método 1: Configurar proxy inverso con Nginx en DirectAdmin

Este es el método más común y recomendado para la mayoría de usuarios. DirectAdmin integra Nginx como proxy frontal de Apache, y podemos configurarlo para redirigir peticiones a cualquier aplicación que escuche en un puerto concreto.

Vamos a configurar un proxy inverso para una aplicación que escucha en el puerto 3000 (típico de Node.js o React). El dominio será miaplicacion.com.

Paso 1: Crear el archivo de configuración

Accede a tu servidor por SSH con un usuario con permisos de root o con el usuario administrador de DirectAdmin. La ruta donde se almacenan las configuraciones de Nginx para cada dominio es:

/usr/local/directadmin/data/users/usuario/nginx.conf

Pero no edites ese archivo directamente, porque DirectAdmin lo regenera. La forma correcta es crear un archivo de configuración adicional en:

/usr/local/directadmin/data/users/usuario/nginx_custom.conf

Si el archivo no existe, créalo con el siguiente contenido:

location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

Paso 2: Recargar la configuración

Después de guardar el archivo, necesitas reconstruir la configuración de Nginx. Ejecuta:

cd /usr/local/directadmin/custombuild
./build rewrite_confs

Luego recarga Nginx:

systemctl reload nginx

Paso 3: Verificar que funciona

Abre tu navegador y visita http://miaplicacion.com. Si todo está correcto, verás la aplicación que corre en el puerto 3000. Si no funciona, revisa los logs de Nginx en:

/var/log/nginx/error.log

[TIP] Si tu aplicación usa WebSockets (por ejemplo, chat en tiempo real), añade estas líneas al bloque location:

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

Método 2: Configurar proxy inverso con Apache en DirectAdmin

Si prefieres usar Apache como proxy inverso (aunque es menos eficiente que Nginx), DirectAdmin también lo permite. Este método es útil si tu aplicación requiere módulos específicos de Apache.

Paso 1: Habilitar los módulos necesarios

Accede al archivo de configuración de Apache para tu dominio, que se encuentra en:

/usr/local/directadmin/data/users/usuario/domains/miaplicacion.com.conf

Dentro del bloque <VirtualHost>, añade:

ProxyPreserveHost On
ProxyPass / http://127.0.0.1:3000/
ProxyPassReverse / http://127.0.0.1:3000/

Paso 2: Guardar y recargar

Guarda el archivo y recarga Apache:

systemctl reload httpd

[WARNING] Este método puede entrar en conflicto con la configuración de Nginx si ambos intentan actuar como proxy. Si usas Nginx como frontal, es mejor que el proxy inverso se configure solo en Nginx y Apache sirva únicamente las aplicaciones.

Proteger el proxy inverso: reglas de seguridad básicas

Configurar el proxy es solo el primer paso. Para que tu servidor sea realmente seguro, debes añadir reglas de filtrado. Aquí tienes algunas imprescindibles.

Bloquear IPs maliciosas

Puedes crear una lista negra en el archivo nginx_custom.conf:

location / {
    deny 123.45.67.89;
    deny 98.76.54.32;
    allow all;
    proxy_pass http://127.0.0.1:3000;
}

Limitar el tamaño de las peticiones

Esto evita que alguien intente saturar tu servidor con peticiones gigantes:

client_max_body_size 10m;

Proteger contra ataques DDoS

Nginx incluye módulos que limitan la velocidad de peticiones. Añade:

limit_req_zone $binary_remote_addr zone=login:10m rate=5r/s;

location / {
    limit_req zone=login burst=10 nodelay;
    proxy_pass http://127.0.0.1:3000;
}

Ocultar cabeceras del servidor

Para que los atacantes no sepan qué software usas:

proxy_hide_header X-Powered-By;
proxy_hide_header Server;

Configurar SSL/TLS en el proxy inverso

La seguridad no está completa sin HTTPS. DirectAdmin gestiona los certificados SSL de forma automática con Let's Encrypt, pero debes asegurarte de que el proxy reenvíe correctamente las peticiones HTTPS.

Paso 1: Activar SSL en DirectAdmin

Ve a Panel de control > SSL Certificates en DirectAdmin y selecciona tu dominio. Elige "Let's Encrypt" y sigue los pasos. DirectAdmin configurará automáticamente Nginx para usar el certificado.

Paso 2: Ajustar el proxy para HTTPS

En tu nginx_custom.conf, añade:

proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port 443;

Y para forzar la redirección de HTTP a HTTPS:

if ($scheme = http) {
    return 301 https://$host$request_uri;
}

[INFO] Si tu aplicación necesita saber si la conexión es segura, la cabecera X-Forwarded-Proto es esencial. Sin ella, la aplicación podría generar URLs con http:// en lugar de https://.

Errores comunes y cómo solucionarlos

Error 502 Bad Gateway

Este es el error más frecuente al configurar un proxy inverso. Significa que Nginx no puede comunicarse con el servidor de la aplicación. Las causas más habituales son:

  • La aplicación no está corriendo en el puerto configurado.
  • El firewall bloquea la conexión local.
  • La aplicación escucha en localhost pero configuramos 127.0.0.1 (o viceversa).

Verifica que la aplicación responde con:

curl http://127.0.0.1:3000

Error 504 Gateway Timeout

Indica que la aplicación tarda demasiado en responder. Aumenta el tiempo de espera en Nginx:

proxy_connect_timeout 60s;
proxy_read_timeout 120s;
proxy_send_timeout 120s;

Bucle de redirección

Si ves un error de "demasiadas redirecciones", es probable que el proxy esté reenviando peticiones a sí mismo. Revisa que proxy_pass apunte al puerto correcto y no al 80 o 443.

Preguntas frecuentes sobre el proxy inverso en DirectAdmin

¿Puedo configurar varios dominios con el mismo proxy?

Sí, cada dominio tiene su propio archivo nginx_custom.conf. Puedes tener diferentes aplicaciones corriendo en distintos puertos y cada dominio apuntará a su puerto.

¿Afecta al rendimiento de mi sitio web?

Un proxy inverso bien configurado mejora el rendimiento porque puede cachear contenido y liberar recursos del servidor principal. La sobrecarga es mínima comparada con los beneficios.

¿Qué pasa si mi aplicación usa sesiones?

Asegúrate de configurar proxy_set_header Host $host; y proxy_set_header X-Real-IP $remote_addr;. Las sesiones basadas en cookies funcionan sin problemas porque el proxy reenvía las cabeceras de forma transparente.

¿Necesito conocimientos avanzados de Linux?

No necesitas ser un experto, pero sí es recomendable saber usar comandos básicos por SSH y entender la estructura de archivos de DirectAdmin. Sigue los pasos de esta guía y tendrás tu proxy funcionando en menos de 30 minutos.

¿Es compatible con Syspanel?

Si estás usando Syspanel (anteriormente conocido como HestiaCP), ten en cuenta que este panel utiliza su propia configuración de proxy y el puerto de acceso es el 2106. La lógica es similar, pero los archivos de configuración se encuentran en rutas diferentes. Para DirectAdmin, esta guía es totalmente válida.

Conclusión y recomendaciones finales

Configurar un proxy inverso en DirectAdmin es una de las mejores decisiones que puedes tomar para proteger tu servidor y mejorar el rendimiento de tus aplicaciones. Aunque al principio pueda parecer técnico, siguiendo los pasos de esta guía lo tendrás funcionando sin problemas.

Recuerda siempre:

  • Haz copias de seguridad de los archivos de configuración antes de modificarlos.
  • Prueba los cambios en un entorno de desarrollo antes de aplicarlos en producción.
  • Mantén actualizado tanto DirectAdmin como Nginx y Apache.
  • Revisa los logs periódicamente para detectar intentos de intrusión.

El proxy inverso es una herramienta flexible que te permite desde proteger una simple página web hasta gestionar una arquitectura compleja de microservicios. Con DirectAdmin, la integración es tan sencilla que no necesitas ser un experto en administración de servidores para aprovechar todas sus ventajas.

¿Te ha quedado alguna duda? Revisa los logs, experimenta en un entorno de pruebas y no tengas miedo de romper algo: así es como se aprende. La seguridad de tu servidor está ahora en tus manos, y con un proxy inverso bien configurado, estás un paso más cerca de tener un hosting a prueba de balas.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel