How a request is processed

The order in which the OpenWAF edge applies size limits, the access gate, IP and country rules, feeds, rate limits, AI policy, redirects, the WAF and shields.

Each check below runs in this order. The first one that answers the request (a block, a challenge, a login page, a redirect) ends it; later checks never see it.

#CheckAnswersNotes
1HTTPS and canonical name301ACME HTTP-01 challenges (/.well-known/acme-challenge/) are answered first. Plain HTTP goes to https://. www.<apex> goes to the apex when the apex is a proxied site, unless a redirect rule says otherwise. A name the edge doesn't serve gets 421; ambiguous Transfer-Encoding or Content-Length headers get 400.
2Request body size413max_body_mb.
3Access gate401 login pageOnly on the protected path prefix, without a valid session.
4IP rules403An allow match skips steps 5 and 6 only.
5Threat feeds403When enable_feed is on.
6Country rules403
7Rate limiting rules429 or challengeAlso for allow-listed IPs, in every WAF mode.
8Rate limit rules429Rules of kind rate_limit.
9Basic rate limit429rate_limit_rpm; off when the WAF is off.
10AI Crawl Controlchallenge, block or tarpitOnly in enforce mode.
11Redirect rules301, 302, 307, 308
12WAF: OWASP CRS and OpenWAF rules403Depends on mode and level and exceptions.
13Stack shields403, 404, 413 or 429Off when the WAF is off; record only in log-only mode.
14Originthe origin's answerThe response passes through response hardening.

Paths under /__waf/

The edge serves a few endpoints of its own under /__waf/: /__waf/verify (the browser challenge), /__waf/access/send-code and /__waf/access/verify (the access gate), and AI Crawl Control's trap and tarpit paths. They never reach your origin. A fixed limit protects the first three: 30 POST requests per minute per IP, with a 60-second block.

Last updated:

↑↓ to navigate↵ to openesc to close