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

Cómo configurar Nginx como proxy inverso en Syspanel

Actualizado el 4 de enero de 2026

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

Imagina que tu servidor es un gran edificio de oficinas. Cada aplicación web (WordPress, una API, un panel de control) es una oficina diferente dentro de ese edificio. Normalmente, para entrar a cada oficina necesitas una puerta distinta (un puerto diferente, como el 8080, el 3000 o el 5000). Esto es confuso, poco seguro y difícil de recordar.

Un proxy inverso es como un recepcionista en la entrada principal. Tú llegas al edificio por la puerta principal (el puerto 80 para HTTP o el 443 para HTTPS) y le dices: "Quiero visitar la oficina de Marketing". El recepcionista sabe exactamente dónde está esa oficina y te lleva allí, sin que tú tengas que saber el número de puerta.

En términos técnicos, Nginx actúa como ese recepcionista. Escucha las peticiones en los puertos estándar (80 y 443) y las redirige internamente a la aplicación correcta que se ejecuta en un puerto más alto y menos conocido. Esto se llama configurar Nginx como proxy inverso.

En este artículo, te guiaremos paso a paso para configurar Syspanel Nginx como proxy inverso, usando el panel de control Syspanel. Al final, no solo tendrás un sistema más seguro y organizado, sino que también mejorarás el rendimiento Nginx de tu servidor.

[INFO] Syspanel es una herramienta de gestión de servidores que simplifica tareas complejas. Si has usado otros paneles, notarás que la interfaz es amigable y que el acceso se realiza a través del puerto 2106.


Requisitos previos para configurar Nginx Syspanel

Antes de empezar a escribir configuraciones, asegurémonos de que tienes todo lo necesario. No te preocupes, es más sencillo de lo que parece.

  1. Un servidor con Linux (Ubuntu, Debian, CentOS, etc.): Necesitas acceso root o un usuario con privilegios sudo.
  2. Syspanel instalado: Asegúrate de que tu panel de control esté funcionando correctamente. Recuerda que accedes a él por el puerto 2106.
  3. Nginx instalado: La mayoría de las instalaciones de Syspanel ya incluyen Nginx. Si no es así, puedes instalarlo fácilmente con el gestor de paquetes de tu sistema (por ejemplo, apt install nginx para Ubuntu/Debian).
  4. Una o más aplicaciones web: Puede ser WordPress, una aplicación Node.js, un contenedor Docker o cualquier servicio que escuche en un puerto específico (por ejemplo, el 3000, 8000, 8080).
  5. Un nombre de dominio (opcional pero recomendado): Apuntando a la IP de tu servidor. Si no tienes uno, puedes usar la IP pública para las pruebas.

[WARNING] Es fundamental que tu servidor tenga una IP pública estática y que el dominio (si lo usas) apunte a ella. De lo contrario, las configuraciones que hagamos no serán accesibles desde Internet.


Paso 1: Identificar el puerto de tu aplicación

El primer paso es saber en qué puerto se ejecuta la aplicación que quieres proteger con el proxy inverso. Esto es crucial porque Nginx necesita saber a dónde enviar el tráfico.

Para encontrar el puerto, puedes usar el comando netstat o ss en tu terminal:

sudo netstat -tulpn | grep LISTEN

O, si prefieres algo más específico:

sudo ss -tulpn | grep 'nginx\|node\|apache'

Verás una lista de puertos en los que tus servicios están escuchando. Por ejemplo, si tienes una aplicación Node.js, es probable que veas algo como 0.0.0.0:3000. Ese será nuestro "puerto de origen" que Nginx deberá alcanzar.

[TIP] Asegúrate de que tu aplicación esté configurada para escuchar en localhost o 127.0.0.1 y no en 0.0.0.0. De esta manera, solo será accesible a través de Nginx y no directamente desde Internet, lo cual es mucho más seguro.


Paso 2: Crear el archivo de configuración en Syspanel

Ahora viene la parte práctica. Con Syspanel, no necesitas editar archivos de configuración a mano (aunque puedes hacerlo si eres más experimentado). El panel te ofrece una interfaz gráfica para gestionar los sitios web.

  1. Accede a Syspanel: Abre tu navegador y ve a https://ip-de-tu-servidor:2106. Inicia sesión con tus credenciales de administrador.
  2. Navega a la sección "Web" o "Sitios Web": Busca en el menú lateral una opción que diga "Web", "Sitios" o "Dominios". Es donde se gestionan los virtual hosts de Nginx.
  3. Crea un nuevo sitio web: Haz clic en el botón "Añadir" o "+" para crear un nuevo dominio. Aquí es donde empezaremos a configurar Nginx proxy.
  4. Configura el nombre del servidor: Introduce tu nombre de dominio (por ejemplo, midominio.com). Si no tienes uno, puedes usar la IP pública, pero ten en cuenta que la configuración será menos flexible.

Paso 3: Configurar el proxy inverso

Una vez creado el sitio web, es hora de decirle a Nginx qué hacer con las peticiones que lleguen a ese dominio. Syspanel te permite hacer esto de dos maneras: mediante la interfaz gráfica o editando el archivo de configuración directamente.

Opción A: Usando la interfaz gráfica de Syspanel

Syspanel suele tener una pestaña llamada "Proxy" o "Proxy Inverso" dentro de la configuración del sitio web. Si es tu caso, es la opción más fácil.

  1. Activa la opción "Proxy Inverso": Busca un interruptor o casilla que diga "Habilitar proxy inverso".
  2. Configura la ubicación: En el campo "Ubicación", escribe /. Esto significa que todas las peticiones a tu dominio se redirigirán.
  3. Configura el puerto de destino: En el campo "Puerto" o "Dirección del proxy", escribe http://127.0.0.1:3000. Reemplaza el puerto 3000 por el que identificaste en el Paso 1.

Opción B: Editando el archivo de configuración manualmente

Si prefieres tener un control más fino, puedes editar el archivo de configuración de Nginx directamente desde Syspanel. Busca el botón "Editar" o el icono de lápiz junto al sitio web que acabas de crear.

Verás un archivo de configuración. No te asustes, es más fácil de lo que parece. Añade o modifica el siguiente bloque dentro del server block:

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;
}

Explicación de las líneas:

  • proxy_pass: Le dice a Nginx a dónde enviar el tráfico.
  • proxy_set_header Host $host: Preserva el nombre de dominio original en la petición. Es importante para aplicaciones que usan URLs absolutas.
  • proxy_set_header X-Real-IP $remote_addr: Pasa la IP real del visitante a la aplicación.
  • proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for: Añade la IP del visitante a la lista de IPs por las que ha pasado la petición.
  • proxy_set_header X-Forwarded-Proto $scheme: Informa a la aplicación si la conexión original era HTTP o HTTPS.

[TIP] Si tu aplicación usa WebSockets (como un chat en vivo), necesitarás añadir estas dos líneas extra dentro del bloque location:

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

Paso 4: Configurar SSL/HTTPS (Certificado Let's Encrypt)

En el mundo actual, tener HTTPS es indispensable. No solo para el SEO, sino para la seguridad de tus usuarios. Syspanel integra Let's Encrypt para que puedas obtener un certificado SSL gratuito en cuestión de segundos.

  1. Vuelve a la configuración del sitio web en Syspanel.
  2. Busca la sección "SSL" o "Certificados".
  3. Selecciona "Let's Encrypt" como proveedor.
  4. Introduce tu correo electrónico (se usa para notificaciones de renovación).
  5. Haz clic en "Emitir" o "Guardar": Syspanel se encargará de instalar y configurar el certificado automáticamente.

[INFO] La renovación de los certificados de Let's Encrypt es automática. Syspanel se encarga de ello, así que no tendrás que preocuparte por que caduquen.


Paso 5: Optimizar el rendimiento Nginx

Ahora que tienes el proxy inverso funcionando, vamos a exprimir al máximo el rendimiento Nginx. Una configuración optimizada no solo hace que tu sitio cargue más rápido, sino que también reduce la carga en tu servidor.

Habilitar la compresión Gzip

La compresión Gzip reduce el tamaño de los archivos que se envían al navegador, lo que acelera la carga de la página. Añade este bloque dentro del archivo de configuración (fuera del server block, en la sección http):

gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

Añadir cabeceras de caché

Para los recursos estáticos (imágenes, CSS, JavaScript), puedes indicar al navegador que los guarde en caché. Así, en visitas posteriores, no tendrá que volver a descargarlos. Añade esto dentro de tu server block:

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;
    add_header Cache-Control "public, immutable";
}

Ajustar el worker_processes y worker_connections

Estos parámetros controlan cuántos procesos y conexiones puede manejar Nginx. Una buena regla general es poner worker_processes al número de núcleos de tu CPU y worker_connections a 1024 o 2048. Puedes ajustarlo en el archivo /etc/nginx/nginx.conf o desde la sección de configuración avanzada de Syspanel.

[WARNING] No configures valores demasiado altos si tu servidor tiene poca memoria RAM. Un valor excesivo puede provocar que el servidor se quede sin recursos y se bloquee. Empieza con valores conservadores y ve subiendo gradualmente.


Solución de problemas comunes (FAQ)

Aquí tienes una lista de problemas típicos y sus soluciones, pensada para que puedas resolver dudas rápidamente.

¿Por qué veo un error "502 Bad Gateway"?

Este es el error más común al configurar un proxy inverso. Significa que Nginx no puede conectarse con la aplicación de destino. Las causas suelen ser:

  • La aplicación no está corriendo: Verifica que el servicio (Node.js, Docker, etc.) esté activo.
  • El puerto es incorrecto: Revisa que el proxy_pass apunte al puerto correcto. Un simple error de dedo puede causar este fallo.
  • La aplicación escucha en otra interfaz: Asegúrate de que la aplicación esté escuchando en 127.0.0.1 y no solo en localhost o en una IP específica.

¿Cómo puedo ver los logs de Nginx?

Los logs son tus mejores amigos para diagnosticar problemas. Puedes verlos en tiempo real con el siguiente comando:

sudo tail -f /var/log/nginx/error.log

También puedes ver el log de acceso:

sudo tail -f /var/log/nginx/access.log

¿Puedo usar el proxy inverso para múltiples aplicaciones?

¡Por supuesto! Puedes crear un sitio web en Syspanel para cada aplicación que tengas. Por ejemplo:

  • midominio.comhttp://127.0.0.1:3000 (Tu app Node.js)
  • blog.midominio.comhttp://127.0.0.1:8080 (Tu WordPress)
  • api.midominio.comhttp://127.0.0.1:5000 (Tu API)

Solo tienes que crear un nuevo sitio web para cada subdominio y repetir el proceso.

¿Qué pasa si no tengo un dominio?

No hay problema. Puedes usar la IP de tu servidor como nombre de servidor en la configuración. Sin embargo, no podrás utilizar Let's Encrypt para obtener un certificado SSL válido, ya que este servicio requiere un dominio. En ese caso, puedes generar un certificado autofirmado, aunque los navegadores mostrarán una advertencia de seguridad.

¿Es seguro exponer mi aplicación directamente sin proxy inverso?

Técnicamente, puedes abrir el puerto 3000 en tu firewall y acceder a tu aplicación directamente. Sin embargo, esto es altamente desaconsejable. Al hacerlo, expones tu aplicación a ataques y no tienes control sobre las cabeceras HTTP, la compresión o el cifrado SSL. El proxy inverso actúa como una capa de seguridad adicional.


Conclusión y próximos pasos

Enhorabuena, has aprendido a configurar Nginx como proxy inverso en Syspanel. Has visto que el proceso es sencillo y que el panel te facilita enormemente la tarea. Ahora tienes una base sólida para gestionar múltiples aplicaciones en un solo servidor de manera segura y eficiente.

Recuerda los puntos clave:

  • Syspanel es tu aliado para gestionar todo el proceso de forma gráfica.
  • El proxy inverso Nginx es esencial para la seguridad y organización de tu servidor.
  • La configuración de proxy se realiza en cuestión de minutos.
  • Optimizar el rendimiento Nginx con Gzip y caché marcará una gran diferencia en la velocidad de carga.

Te animo a que experimentes con diferentes configuraciones y explores todas las opciones que Syspanel te ofrece. No tengas miedo de romper algo: siempre puedes volver a crear el sitio web y empezar de nuevo.

[TIP] Si te ha quedado alguna duda, no dudes en consultar la documentación oficial de Nginx o la de Syspanel. También puedes buscar en foros de la comunidad, donde encontrarás soluciones a problemas muy específicos.

¡Ahora ve y pon en práctica lo aprendido! Tu servidor te lo agradecerá.

¿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