Al igual que las revisiones médicas periódicas son una parte importante para mantenerse sano, comprobar regularmente el estado de tus aplicaciones es fundamental para garantizar un rendimiento fiable. Al actuar como proxy inverso y equilibrar la carga del tráfico, NGINX utiliza comprobaciones de estado pasivas para proteger a los usuarios de tus aplicaciones frente a interrupciones, desviando automáticamente el tráfico de los servidores que no responden a las solicitudes. NGINX Plus añade comprobaciones de estado activas, que envían sondas especiales capaces de detectar servidores en mal estado incluso antes de que no puedan procesar una solicitud. ¿Qué tipo de comprobación de estado es el más adecuado para tus aplicaciones? En este artículo te ofrecemos la información que necesitas para tomar esa decisión.
¿Qué es una comprobación de estado?
En el sentido más básico, una comprobación de estado es un método para determinar si un servidor puede gestionar el tráfico. NGINX utiliza comprobaciones de estado para supervisar los servidores para los que actúa como proxy inverso o entre los que equilibra la carga del tráfico, a los que denomina «servidores ascendentes».
Comprobaciones de estado pasivas
Las comprobaciones de estado pasivas, disponibles tanto en NGINX Open Source como en NGINX Plus, se basan en observar el comportamiento del servidor mientras gestiona conexiones y tráfico. Ayudan a evitar que los usuarios sufran interrupciones debido a tiempos de espera agotados del servidor, ya que, cuando NGINX detecta que un servidor no está en buen estado, reenvía inmediatamente la solicitud a otro servidor, deja de enviar solicitudes al servidor afectado y distribuye las solicitudes posteriores entre los demás servidores en buen estado del grupo de servidores upstream.
Tenga en cuenta que las comprobaciones de estado pasivas solo son eficaces cuando el grupo de servidores upstream está formado por varios miembros. Cuando solo se define un servidor upstream, este nunca se marca como no disponible y los usuarios experimentan una interrupción del servicio cuando su estado no es correcto.
Cómo funcionan las comprobaciones de estado pasivas
A continuación, se explica en detalle cómo funcionan las comprobaciones de estado pasivas, pero puedes pasar directamente a Comprobaciones de estado activas si no te interesa.
De forma predeterminada, NGINX considera que un servidor TCP/UDP (stream) no está disponible si se produce un solo error o se agota el tiempo de espera al establecer una conexión con él.
NGINX considera que un servidor HTTP no está disponible si se produce un solo error o se agota el tiempo de espera al establecer una conexión con él, enviarle una solicitud o leer la cabecera de respuesta (no recibir ninguna respuesta también se considera un error de este tipo). Puede utilizar la directiva proxy_next_upstream para personalizar estas condiciones para el proxy de HTTP, y existe una directiva equivalente para los protocolos FastCGI, gRPC, memcached, SCGI, TCP/UDP y uwsgi.
Tanto para HTTP como para TCP/UDP, NGINX espera diez segundos de forma predeterminada antes de volver a intentar conectarse y enviar una solicitud a un servidor en mal estado. Puede utilizar el parámetro fail_timeout de la directiva server[HTTP][Stream] para modificar este intervalo de tiempo.
Puede utilizar el parámetro max_fails de la directiva server para aumentar el número de errores o tiempos de espera que deben producirse para que NGINX considere que el servidor no está disponible; en este caso, el parámetro fail_timeout establece el periodo durante el cual debe producirse ese número de errores o tiempos de espera, así como el tiempo que NGINX espera antes de volver a intentar conectarse al servidor tras marcarlo como no disponible.
Comprobaciones de estado activas
Las comprobaciones de estado activas —exclusivas de NGINX Plus— son solicitudes especiales que se envían periódicamente a los endpoints de la aplicación para asegurarse de que responden correctamente. Son independientes de las comprobaciones de estado pasivas y las complementan. Por ejemplo, NGINX Plus puede enviar periódicamente una solicitud HTTP al servidor web de la aplicación para comprobar que responde con un código de respuesta válido y el contenido correcto. Las comprobaciones de estado activas permiten supervisar continuamente el estado de componentes y procesos específicos de la aplicación. Esto constituye una medición directa de la disponibilidad de la aplicación, aunque depende de hasta qué punto la comprobación de estado especificada sea representativa del estado general de la aplicación.
Puede personalizar muchos aspectos de una comprobación de estado activa; consulte Casos de uso de las comprobaciones de estado activas.

Casos de uso de las comprobaciones de estado pasivas
Las comprobaciones de estado pasivas son un requisito básico. Se recomienda que todos los equipos de desarrollo de aplicaciones, DevOps, DevSecOps y operaciones de plataforma realicen comprobaciones de estado pasivas como parte de su programa de supervisión de la infraestructura de producción. De forma predeterminada, NGINX realiza comprobaciones de estado pasivas en el tráfico con equilibrio de carga, incluidas las configuraciones HTTP, TCP y UDP.
Las ventajas de las comprobaciones de estado pasivas incluyen:
- Disponible en NGINX Open Source
- Habilitado de forma predeterminada para los servidores incluidos en un bloque de configuración
upstream{}configuration block - Sin carga adicional en los servidores upstream
- Configurable en cuanto al número mínimo de fallos dentro de un período de tiempo, tal como se describe en Cómo funcionan las comprobaciones de estado pasivas
- Inicio lento configurable (exclusivo de NGINX Plus): cuando un servidor vuelve a estar operativo, NGINX Plus aumenta gradualmente la cantidad de tráfico que se le reenvía para darle tiempo a «calentarse»
Las ventajas de NGINX Open Source son el coste (ninguno, obviamente), la capacidad de configuración y una amplia biblioteca de módulos de terceros. Dado que el código fuente está disponible, los desarrolladores pueden modificar y ampliar sus funcionalidades para adaptarlas a sus necesidades específicas.
Para muchas aplicaciones (y sus desarrolladores), las comprobaciones de estado pasivas son suficientes. Por ejemplo, las comprobaciones de estado activas pueden resultar excesivas para microservicios que no están orientados al cliente y realizan tareas de menor envergadura. Del mismo modo, pueden no ser necesarias para aplicaciones en las que el almacenamiento en caché puede reducir la probabilidad de que se produzcan problemas de latencia o en las que las redes de distribución de contenidos (CDN) pueden asumir algunas de las tareas de la aplicación. En resumen, utilizar únicamente comprobaciones de estado pasivas es la mejor opción para:
- Monitorización del tráfico HTTP
- Supervisar la infraestructura por separado de las aplicaciones
- Supervisión de aplicaciones en las que la latencia es tolerable
- Supervisión de aplicaciones internas en las que no es importante un alto rendimiento
Casos de uso de las comprobaciones de estado activas
En el caso de las aplicaciones de misión crítica, las comprobaciones de estado activas suelen ser esenciales, ya que los problemas afectan directamente a los clientes y a los procesos clave. En estas aplicaciones, es fundamental probar la aplicación prácticamente del mismo modo que lo hacen sus clientes o usuarios, lo que requiere comprobaciones de estado activas. Estas comprobaciones son similares a las herramientas de supervisión del rendimiento de aplicaciones, como New Relic y AppDynamics, que utilizan comprobaciones fuera de banda para medir la latencia y las respuestas de la aplicación. Para realizar comprobaciones de estado activas, NGINX Plus incluye diversas funciones y capacidades que no están disponibles en NGINX Open Source:
- Comprobaciones de estado fuera de banda para verificar la disponibilidad de la aplicación
- Pruebe los endpoints configurados y compruebe si se obtienen respuestas específicas
- Pruebe puertos distintos de los que gestionan el tráfico real de la aplicación
- Conexiones HTTP persistentes para las comprobaciones de estado, lo que elimina la necesidad de establecer una nueva conexión para cada comprobación
- Mayor control sobre las condiciones de fallo y éxito
- Pruebe, si lo desea, los servidores recién añadidos antes de que reciban tráfico real de la aplicación
Con las comprobaciones de estado activas, los desarrolladores pueden configurar NGINX Plus para que detecte automáticamente cuándo un servidor backend está inactivo o experimenta problemas y, a continuación, dirija el tráfico a servidores en buen estado hasta que se resuelva el problema. La mayor capacidad de configuración de las comprobaciones de estado activas permite realizar comprobaciones más sofisticadas, lo que puede ayudar a detectar problemas en la aplicación antes de que afecten a usuarios reales. Esto puede minimizar el tiempo de inactividad y evitar interrupciones en el acceso de los usuarios a la aplicación.
Cómo configurar las comprobaciones de estado
Las comprobaciones de estado pasivas están habilitadas de forma predeterminada, pero puede personalizar su frecuencia y el número de fallos que deben producirse antes de que un servicio se marque como no disponible, tal como se describe en «Cómo funcionan las comprobaciones de estado pasivas». Para obtener instrucciones completas sobre cómo configurar las comprobaciones de estado pasivas y activas, consulte nuestra documentación:
- Comprobaciones de estado HTTP
- Comprobaciones de estado de TCP
- Comprobaciones de estado UDP
- Comprobaciones de estado de gRPC
Conclusión: elige las comprobaciones de estado que se adapten a los requisitos de tu aplicación
Las comprobaciones de estado son fundamentales para que cualquier aplicación en producción funcione de forma fluida y responda correctamente. Son la mejor manera de detectar problemas e identificar aumentos de latencia antes de que afecten a los usuarios finales. Para muchas aplicaciones, las comprobaciones de estado pasivas son suficientes.
Para aplicaciones más críticas, en las que es necesario obtener información directa sobre el comportamiento de la aplicación a nivel de usuario, las comprobaciones activas son más adecuadas. NGINX Open Source es gratuito y ofrece comprobaciones de estado pasivas configurables. NGINX Plus ofrece funciones avanzadas de comprobación activa del estado, además de soporte comercial.
¿Quieres probar las comprobaciones de estado activas con NGINX Plus? Empieza tu prueba gratuita de 30 días hoy mismo o ponte en contacto con nosotros para hablar sobre tus casos de uso.
Sobre el autor

Artículos relacionados del blog
Únete a F5 NGINX en AppWorld 2024
Descubre las numerosas razones para asistir al evento insignia de F5, que incluirá un emocionante anuncio sobre la cartera de productos NGINX.
Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source
La función de diccionario compartido permite configurar NGINX sin necesidad de reiniciarlo al renovar los certificados SSL/TLS.
Exposición de APIs en Kubernetes
La unidad 2 de Microservices March 2022 se centra en cómo exponer tus API en Kubernetes. Aquí tienes enlaces a los recursos que necesitas: la retransmisión en directo del 14 de marzo, artículos de blog y otros recursos de preparación, y el laboratorio práctico «Protege las API de Kubernetes mediante la limitación de solicitudes».
NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto
Hoy, en NGINX Sprint 2.0, anunciamos cómo respaldaremos nuestra visión del futuro de las aplicaciones modernas con una mayor presencia en la comunidad de código abierto, incluida la participación en el proyecto comunitario Kubernetes, nuevos proyectos de software de código abierto y la arquitectura de referencia para aplicaciones modernas.
Presentamos NGINX Plus R22
NGINX Plus R22 incorpora nuevas funcionalidades, como la compatibilidad con OCSP para verificar la revocación de certificados en TLS mutuo, el uso de varios proveedores de identidad OIDC en una configuración, el seguimiento en tiempo real de la limitación de solicitudes y conexiones en el panel de NGINX Plus y mejoras en NGINX JavaScript.
Presentamos NGINX Plus R17
NGINX Plus R17 incorpora compatibilidad con la limitación de velocidad en dos fases y con TLS 1.3, la versión más reciente del protocolo Transport Layer Security. La configuración de OpenID Connect es más sencilla y NGINX ModSecurity WAF es el doble de rápido que antes. También se ha actualizado el módulo JavaScript de NGINX.