Explicador da ordem de eventos de iRules
Escolha o conjunto de perfis de um virtual server do BIG-IP — Client-SSL, HTTP, Server-SSL, pool — e veja a ordem em que os eventos de iRule comuns disparam, de CLIENT_ACCEPTED a CLIENT_CLOSED, como linha do tempo e lista. Tudo no seu navegador.
RedesConjunto de perfis do virtual server
Computado no seu navegador. Nada é enviado a lugar algum.
Um modelo do comportamento documentado do F5 para um virtual server Standard. Nunca contata um BIG-IP.
Sequência de eventos
Eventos em ordem
CLIENT_ACCEPTEDlado clienteA client connection is established. On a Standard virtual server this is when the TCP three-way handshake completes; on FastL4 it fires on the initial SYN.
CLIENTSSL_CLIENTHELLOlado clienteThe client's TLS ClientHello has been received, before the handshake is processed. Useful for SNI-based decisions.
CLIENTSSL_HANDSHAKElado clienteThe client-side TLS handshake has completed successfully.
HTTP_REQUESTlado clienteThe system has fully parsed the complete client HTTP request headers.
LB_SELECTEDglobalThe system has selected a pool member for the connection.
SERVER_CONNECTEDlado servidorThe server-side connection to the selected pool member has been established.
SERVERSSL_HANDSHAKElado servidorThe server-side TLS handshake has completed successfully.
HTTP_REQUEST_SENDlado servidorImmediately before the HTTP request is sent to the server-side TCP stack. Runs in the server-side context.
HTTP_RESPONSElado clienteThe system has parsed all of the response status and header lines from the server response.
SERVER_CLOSEDlado servidorThe server-side connection has been closed.
CLIENT_CLOSEDlado clienteThe client-side connection has been closed.
Eventos condicionais
Estes disparam apenas sob condições específicas: um TCP::collect ou HTTP::collect, uma falha de balanceamento, ou uma resposta 100 Continue.
HTTP_REQUEST_DATA↪ HTTP_REQUESTAfter an HTTP::collect has gathered the specified amount of request payload.
LB_FAILED↪ LB_SELECTEDInstead of LB_SELECTED, when the system fails to select a pool or member, or the selected resource is unreachable.
HTTP_RESPONSE_CONTINUE↪ HTTP_RESPONSEBefore HTTP_RESPONSE, whenever the server sends a 100 Continue interim response.
HTTP_RESPONSE_DATA↪ HTTP_RESPONSEAfter an HTTP::collect has gathered the specified amount of response payload.
- Within a single event, multiple iRules run by priority (default 500, lowest number first); the priority command overrides that. This ordering is across events, not within one.
- Availability also depends on provisioning: module events (APM ACCESS_*, ASM/Advanced WAF, bot defense) only fire when that module is provisioned. And CLIENT_DATA, SERVER_DATA, HTTP_REQUEST_DATA, and HTTP_RESPONSE_DATA need an explicit TCP::collect or HTTP::collect first.