Nginx se pronuncia «engine-x». Es un programa que recibe solicitudes de navegadores, aplicaciones móviles y otros clientes, y luego les entrega sitios, archivos, imágenes, respuestas de API o reenvía las solicitudes a una aplicación. En la descripción oficial nginx se nombra servidor web HTTP, proxy inverso, caché, balanceador de carga, proxy TCP/UDP y proxy de correo.
Un servidor web no es necesario solo para proyectos grandes. Incluso un sitio pequeño en WordPress, un panel de usuario, una tienda en línea, un panel corporativo o una API necesitan un programa que se comunique con el navegador por HTTP, gestione dominios, funcione con certificados, procese errores y ayude a que la aplicación no caiga bajo carga. Según MDN, «servidor web» puede referirse tanto a la máquina que contiene los archivos del sitio como al servidor HTTP de software que recibe solicitudes y devuelve respuestas.
¿Qué es un servidor web y cómo responde Nginx a las solicitudes HTTP?
Cuando un usuario abre una página, el navegador envía una solicitud al dominio. La solicitud llega al servidor, donde Nginx analiza la dirección, el protocolo, la ruta, las cabeceras y las reglas de la configuración. Si el navegador solicita un archivo ya preparado, por ejemplo una imagen, CSS, JavaScript o una página HTML, Nginx puede servir el archivo directamente. Ese escenario se denomina entrega de contenido estático.
Si la solicitud requiere lógica, por ejemplo iniciar sesión en un panel, buscar un producto, procesar un pago o trabajar con una base de datos, Nginx normalmente no ejecuta la lógica de negocio por sí mismo. Reenvía la solicitud a la aplicación: PHP-FPM, Node.js, Python, Go, un servicio Java u otro backend. La aplicación forma la respuesta y Nginx devuelve el resultado al usuario. Este enfoque descarga a la aplicación y separa la capa de red del código del producto.
Una analogía simple: la aplicación prepara el plato y Nginx actúa como el encargado del salón. El encargado recibe al visitante, verifica la reserva, lo dirige a la mesa adecuada, a veces entrega el menú de inmediato y se asegura de que la cola no se convierta en caos. El encargado no sustituye al cocinero, pero sin él el restaurante pronto se vería desbordado por los comensales.
Nginx se hizo popular por una arquitectura pensada para un gran número de conexiones simultáneas. En lugar del esquema pesado «una conexión — un proceso», usa un enfoque basado en eventos. Ese enfoque permite atender a muchos clientes con menos consumo de memoria y CPU. Pero no hay magia: una aplicación mal escrita, una base de datos lenta, un disco débil o límites incorrectos seguirán provocando retrasos.
Para qué sirve Nginx: HTTPS, proxy inverso, balanceo y caché
La primera tarea habitual de Nginx es servir archivos estáticos. Imágenes, fuentes, estilos, scripts y archivos no requieren consulta a la aplicación. Si Nginx entrega esos archivos directamente, el backend gasta menos recursos en tareas rutinarias y responde más rápido donde hace falta lógica.
La segunda tarea es trabajar con HTTPS. Nginx puede aceptar conexiones seguras, usar certificados TLS y redirigir a los usuarios de HTTP a HTTPS. Este enfoque permite centralizar la configuración del cifrado. Para el administrador es más cómodo que configurar certificados por separado en cada aplicación.
La tercera tarea es el proxy inverso. Nginx acepta la solicitud en el dominio público y luego la reenvía a una dirección interna como 127.0.0.1:3000 o a un contenedor en la red de Docker. El usuario no ve la arquitectura interna, y ese encapsulamiento reduce el riesgo de exponer detalles técnicos innecesarios. La documentación de Nginx describe este escenario como el reenvío de solicitudes a servidores proxificados por distintos protocolos.
La cuarta tarea es el balanceo. Si una aplicación se ejecuta en varios servidores o contenedores, Nginx puede distribuir las solicitudes entre ellos. En la versión más simple las solicitudes se reparten en ciclo. En esquemas más complejos se consideran pesos de los servidores, límites de conexiones, estado de los nodos y otros parámetros. El balanceo no sustituye una arquitectura adecuada, pero ayuda a soportar picos de tráfico y a actualizar servicios con menor impacto.
La quinta tarea es el almacenamiento en caché. Nginx puede guardar una respuesta y servirla repetidamente sin consultar al backend. La caché funciona bien para páginas, imágenes, respuestas de API públicas y otros datos que no cambian cada segundo. Pero la caché es peligrosa donde el contenido es personal: paneles de usuario, carritos, datos médicos, pagos y documentos privados. Un error en las reglas de caché puede mostrar a un usuario los datos de otro.
| Escenario | Qué hace Nginx | Dónde se usa con frecuencia | Riesgo con mala configuración |
|---|---|---|---|
| Archivos estáticos | Sirve imágenes, CSS, JS y HTML sin participación de la aplicación | Sitios web, landing pages, archivos multimedia | Acceso público a archivos innecesarios |
| HTTPS | Acepta conexiones seguras y gestiona certificados | Sitios públicos y API | Protocolos débiles, certificados caducados, errores de redirección |
| Proxy inverso | Reenvía solicitudes a aplicaciones internas | Docker, microservicios, Node.js, Python, Go | Exposición de servicios internos o cabeceras incorrectas |
| Balanceo | Distribuye solicitudes entre varios nodos | Sitios y API de alta carga | Caída parcial del servicio por comprobación incorrecta de nodos |
| Caché | Guarda respuestas preparadas y las sirve más rápido | Catálogos, noticias, páginas públicas | Filtración de datos personales a través de una caché compartida |
Nginx, Apache y la aplicación: en qué se diferencia el servidor web del backend
Nginx a menudo se compara con Apache, pero la pregunta «qué es mejor» es demasiado simplista. Apache todavía se utiliza en muchos proyectos, sobre todo donde históricamente se ha ligado con PHP y .htaccess. Nginx se elige con más frecuencia como servidor frontal rápido, proxy inverso y balanceador. Según Netcraft en marzo de 2026, el mercado de servidores web sigue siendo activo y heterogéneo: el análisis incluye más de 1,4 mil millones de sitios, y las cuotas de distintas tecnologías de servidor cambian notablemente de un mes a otro.
No se debe confundir el servidor web con el backend. Nginx no reemplaza a un CMS, un framework, una base de datos ni el código del producto. Acepta, dirige y optimiza las solicitudes de red. El backend verifica al usuario, calcula el precio, escribe en la base de datos, crea el pedido y ejecuta la lógica de negocio. Si un sitio «va lento», no siempre es culpa de Nginx. La causa puede estar en consultas SQL, una API externa, una página pesada, un disco lento, DNS, CDN o errores en el JavaScript del cliente.
Una buena configuración de Nginx comienza por entender las rutas. Qué dominios atiende el servidor, qué URL conducen a archivos estáticos, qué solicitudes van al aplicativo, dónde hace falta caché, qué métodos HTTP están permitidos, qué límites se necesitan para subir archivos, cómo escribe el servidor los registros y qué ocurre ante errores 404, 502 o 504. Sin ese esquema, la configuración rápidamente se convierte en un conjunto de fragmentos aleatorios sacados de Internet.
Nginx no hace que un sitio sea seguro de forma automática. Proporciona al administrador herramientas: HTTPS, restricciones, proxy, cabeceras, registros, filtrado de ciertas solicitudes. Sin verificar la configuración, aplicar actualizaciones y mantener permisos adecuados, el servidor web puede convertirse en un punto de entrada para ataques.
Para un proyecto doméstico Nginx es necesario cuando el sitio sale a Internet, obtiene un dominio, HTTPS y funciona no solo en el equipo local. Para la empresa Nginx es casi siempre necesario: ayuda a ocultar servicios internos, simplificar la enrutación, soportar el crecimiento del tráfico, integrar certificados con cuidado y recopilar registros en el borde de la aplicación. Para desarrollo Nginx es útil en Docker Compose, entornos de prueba y esquemas donde conviene asemejar el entorno local a producción.
Al configurar un servidor público no copies configuraciones a ciegas. Verifica los permisos de directorios, protege archivos de servicio, no publiques .env, volcados de bases de datos, copias de respaldo ni paneles de administración. Los registros pueden contener direcciones IP, tokens, URL con parámetros y otros datos sensibles: hay que almacenar y transmitir los registros con cuidado. Si el servidor procesa datos personales de usuarios rusos, tenga en cuenta la legislación de la Federación Rusa, reglamentos internos y principios de administración responsable. Realice pruebas de seguridad solo en sus propios sistemas o con el permiso expreso del propietario.
FAQ: preguntas frecuentes sobre Nginx
Sí, muchos frameworks pueden aceptar solicitudes HTTP por sí mismos. Pero para un sitio público esa opción suele ser peor: es más difícil configurar HTTPS, la entrega de estáticos, límites, proxy, registros y balanceo. En producción la aplicación suele protegerse detrás de Nginx u otro servidor frontal.
¿Nginx solo sirve para Linux?
No, Nginx está disponible para distintas plataformas, pero en la práctica de servidores se instala con más frecuencia en Linux. La mayoría de guías, paquetes, ejemplos y esquemas de referencia están pensados para servidores Linux.
¿Por qué aparece el error 502 Bad Gateway?
Normalmente Nginx no pudo obtener una respuesta correcta del backend. La causa puede ser un backend caído, un puerto incorrecto, un error en el upstream, un problema con el socket, un tiempo de espera o falta de recursos. Hay que revisar no solo access.log y error.log de Nginx, sino también los registros de la aplicación.
¿En qué se diferencia Nginx de una CDN?
Nginx funciona en su servidor o en su infraestructura. Una CDN distribuye contenido por una red de nodos externos más cercanos a los usuarios. En proyectos grandes Nginx y la CDN suelen trabajar juntos: la CDN recibe el tráfico externo y Nginx atiende el servidor origin y las rutas internas.
¿Debe un principiante aprender Nginx?
Si publica sitios, API, proyectos en Docker o administra servidores, los conocimientos básicos de Nginx se recuperan pronto. Basta comprender server block, location, proxy_pass, root, index, HTTPS, registros y reinicio de la configuración. La optimización profunda no es necesaria de inmediato.
Nginx es necesario donde un sitio o API deben recibir solicitudes de Internet de forma fiable. Sirve archivos estáticos, implementa HTTPS, actúa como proxy inverso, distribuye la carga y puede almacenar respuestas en caché. Pero Nginx no arregla código deficiente ni sustituye la seguridad por defecto. Primero diseñe el esquema del tráfico, luego configure reglas mínimas, revise los registros, cierre accesos innecesarios y solo después añada caché, balanceo y optimizaciones complejas.