HTTP, OneConnect, Compression y Fallback Host
Resumen
El perfil HTTP hace que BIG-IP entienda la capa 7 (headers, cookies, URIs) y habilita casi todas las funciones web: persistencia por cookie, iRules HTTP, X-Forwarded-For y el fallback host. Sobre él se apoyan OneConnect (reutiliza conexiones hacia los servidores), HTTP Compression (comprime respuestas) y Web Acceleration (cachea contenido estático). Estas funciones reducen la carga de los servidores. Nunca se edita el perfil
httppor defecto: se crea un perfil hijo.
Requisitos previos
- VS estándar con perfil TCP (Virtual Servers)
- Para HTTPS: perfil Client SSL (Certificados y Client SSL)
- URL de mantenimiento o sitio alterno para el fallback host
Conceptos clave
| Concepto | Qué es |
|---|---|
| Perfil HTTP | Capa 7; depende del perfil TCP |
| Fallback Host | Redirección HTTP (302) cuando no hay ningún miembro disponible |
| Insert X-Forwarded-For | Agrega la IP real del cliente en un header |
| Request Header Erase | Borra un header de la petición (ej. Accept-Encoding) |
| OneConnect | Reutiliza conexiones inactivas hacia los miembros; necesita HTTP |
| HTTP Compression | Comprime respuestas (gzip/deflate) |
| Web Acceleration | Caché de contenido estático (imágenes, CSS, JS) |
Configuración (Ejemplo, Lab CBT Nuggets)
1. Perfil HTTP hijo con fallback host
Local Traffic > Profiles > Services > HTTP > Create > Name: http_app1, Parent Profile: http > marca Custom junto a Fallback Host > Fallback Host: http://10.1.20.50/ > Finished.
tmsh create ltm profile http http_app1 defaults-from http fallback-host "http://10.1.20.50/"
El valor es una URL completa con http://, no solo la IP.
2. Asignarlo al VS
Virtual Servers > el VS > Configuration: Advanced > HTTP Profile (Client): http_app1 > Update.
tmsh modify ltm virtual VS-172.16.101.20-HTTP-APP1 profiles replace-all-with { tcp http_app1 }
Prueba: deshabilita todos los miembros del pool y abre el VS en el navegador → debe redirigir.
3. X-Forwarded-For en el mismo perfil
http_app1 > Insert X-Forwarded-For: Enabled > Update.
tmsh modify ltm profile http http_app1 insert-xforwarded-for enabled
4. OneConnect
Local Traffic > Profiles > Other > OneConnect > usa oneconnect (o crea uno hijo con Source Mask). VS > Acceleration: OneConnect Profile: oneconnect > Update.
tmsh modify ltm virtual VS-172.16.101.20-HTTP-APP1 profiles add { oneconnect }
Requisitos: perfil TCP + HTTP + OneConnect; con HTTPS también Client SSL (BIG-IP debe ver las peticiones). No funciona con FastL4 ni con SSL pass-through.
5. HTTP Compression
Local Traffic > Profiles > Services > HTTP Compression > Create > Name: comp_app1, Parent: httpcompression > ajusta gzip Compression Level, CPU Saver, HTTP/1.0 Requests > Finished. VS > HTTP Compression Profile: comp_app1 > Update.
tmsh create ltm profile http-compression comp_app1 defaults-from httpcompression
tmsh modify ltm virtual VS-172.16.101.20-HTTP-APP1 profiles add { comp_app1 }
Si los servidores ya comprimen: en el perfil HTTP Request Header Erase: Accept-Encoding para que el BIG-IP haga la compresión.
6. Web Acceleration (caché)
Local Traffic > Profiles > Services > Web Acceleration > Create > Name: cache_app1, Parent: optimized-caching > Finished. VS > Web Acceleration Profile: cache_app1 > Update. Útil con mucho contenido estático (ej. imágenes grandes).
tmsh create ltm profile web-acceleration cache_app1 defaults-from optimized-caching
tmsh modify ltm virtual VS-172.16.101.20-HTTP-APP1 profiles add { cache_app1 }
Verificación
| Comando o lugar | Qué debes ver | Si no lo ves |
|---|---|---|
| Todos los miembros deshabilitados + navegador | Redirección (302) al fallback host | Perfil HTTP no asignado o URL sin http:// |
curl -I -H "Accept-Encoding: gzip" http://172.16.101.20/ | Content-Encoding: gzip | Revisa el perfil de compresión y el tipo de contenido |
tmsh show ltm profile one-connect oneconnect | Reutilización de conexiones | Falta HTTP o hay SSL pass-through |
tmsh show ltm profile web-acceleration cache_app1 | Hits de caché | Contenido no cacheable (headers Cache-Control) |
| Logs del servidor | Menos conexiones nuevas (OneConnect) y XFF con IP real | — |
Errores comunes
El fallback host no redirige
- Causa: perfil HTTP no asignado al VS, o hay miembros aún disponibles (el fallback solo actúa con cero miembros).
- Solución: asigna el perfil y prueba con todos los miembros caídos.
No se ve la opción de compresión en el VS
- Causa: el VS es Performance (Layer 4) (FastL4 no soporta compresión).
- Solución: usa un VS Standard con TCP + HTTP.
OneConnect rompe la persistencia o la autenticación
- Causa: peticiones de distintos clientes reutilizan la misma conexión al servidor (apps con NTLM o estado por conexión).
- Solución: perfil OneConnect con Source Mask adecuado o desactivarlo para esa app.
La compresión sube mucho la CPU
- Causa: nivel de gzip alto con mucho tráfico.
- Solución: baja el nivel y activa CPU Saver.