Troubleshooting de aplicaciones

Resumen

Esta nota recorre los síntomas más comunes de una aplicación publicada en BIG-IP —no carga, resetea, pierde la sesión, devuelve un error HTTP, certificado inválido— y para cada uno indica qué revisar y cómo arreglarlo. Usa el método de Troubleshooting Toolkit (F5) y empieza siempre por lo más simple.

Requisitos previos

  • IP del cliente, VIP, URL y hora del problema
  • Acceso a la GUI y a bash del BIG-IP
  • Acceso a los logs del servidor web (o a su equipo)

Conceptos clave

Código HTTPSignificadoQuién suele generarlo
100ContinueServidor
200OKServidor
301 / 302Redirección (302 = fallback host)Servidor o BIG-IP
304Not Modified (usa tu caché)Servidor o caché del BIG-IP
401 / 403Requiere autenticación / prohibidoServidor, APM o WAF
404No encontradoServidor
405Método no permitido (ej. subir a un sitio de solo lectura)Servidor
500 / 502 / 503 / 504Errores del servidor o de un proxy intermedioServidor (o BIG-IP si no hay miembros)
511Network Authentication Required (portal cautivo)Red
Flag TCPSignificado
FINCierre ordenado: “terminé de enviar”
RSTCorte inmediato

Configuración (Ejemplo, Lab CBT Nuggets)

1. Ver el código HTTP real

curl -v http://172.16.101.20/
curl -v http://10.10.101.101/

Compara la respuesta a través del VIP con la respuesta directa del servidor: si difieren, el cambio lo introduce el BIG-IP (iRule, policy, fallback, WAF).

2. Ver el HTTP en Wireshark

Captura y filtra por http en Wireshark:

tcpdump -ni 0.0:nnnp -s0 -w /var/tmp/http.pcap host 172.16.101.5

En Wireshark: http.response.code >= 400, tcp.flags.reset == 1, tcp.analysis.retransmission.

Verificación

Comando o lugarQué debes verSi no lo ves
curl -v al VIPCódigo 200 y el contenido esperadoVer Errores comunes
curl -v directo al servidorLo mismoProblema de la aplicación, no del BIG-IP
Network MapVS y miembros 🟢Revisa monitores
tmsh show /net rst-causeNingún contador creciendoRevisa la causa

Errores comunes

La página no carga y el pool está verde

  • Causa: el retorno no pasa por el BIG-IP (sin SNAT y servidores con otro gateway).
  • Revisa: captura en internal: llega el SYN al servidor pero el SYN-ACK no vuelve.
  • Solución: SNAT Auto Map o floating IP como gateway (SNAT, NAT y X-Forwarded-For).

El VS está verde pero los usuarios reciben resets

  • Causa: límite de conexiones, iRule con reject, error TCL, handshake SSL fallido, combinación de perfiles inválida.
  • Revisa: tmsh show /net rst-cause, /var/log/ltm.
  • Solución: corrige según la causa que crece.

Los usuarios pierden la sesión al azar

  • Causa: persistencia ausente o vencida, cookie bloqueada, failover sin mirroring, miembro que cae.
  • Revisa: registros de persistencia, timeout, logs de monitores.
  • Solución: ajusta la persistencia (Persistence).

503 / la página de mantenimiento aparece para todos

  • Causa: ningún miembro disponible (actúa el fallback host o BIG-IP responde sin servidor).
  • Revisa: Network Map y grep "monitor status down" /var/log/ltm.
  • Solución: recupera los servidores o corrige el monitor.

Certificado inválido en algunos clientes

  • Causa: falta la cadena intermedia, certificado vencido o SNI incorrecto.
  • Revisa: openssl s_client -showcerts -servername <sitio>.
  • Solución: Certificados y Client SSL.

Ping al servidor funciona pero el sitio no

  • Causa: ICMP permitido pero el puerto filtrado, servicio caído o problema en la aplicación.
  • Revisa: nc -vz <servidor> 80, curl -v.
  • Solución: abre el puerto o levanta el servicio; empieza siempre por lo más simple.

Las peticiones encadenadas (pipelining) fallan a veces

  • Causa: cualquier participante (cliente, servidor, proxy) puede cerrar la conexión TCP en cualquier momento; las peticiones pendientes se pierden.
  • Solución: el cliente debe reintentar; revisa los idle timeouts de los perfiles TCP/HTTP.

Un cliente cae en el virtual server equivocado

  • Causa: otro VS más específico coincide (Destino → Origen → Puerto).
  • Solución: revisa tmsh list ltm virtual destination.