Unexpected Shield challenges and false-positive rule triggers usually trace back to one of a handful of features. This page covers how to find which one fired and how to resolve it.Documentation Index
Fetch the complete documentation index at: https://docs.bunny.net/llms.txt
Use this file to discover all available pages before exploring further.
Why am I getting a Shield challenge?
Any Shield feature that supports the Challenge response action can issue one. If a challenge is appearing on requests you expected to pass, check each configured feature:- WAF: Custom WAF rules can add a Challenge action to matched request patterns.
- DDoS Mitigation: Higher DDoS sensitivity levels can present a Challenge to validate access to your site.
- Rate Limiting: Rate limiting rules can issue a Challenge once a client exceeds the configured threshold.
- Bot Detection: Bot Detection may issue a Challenge when traffic looks automated.
- Access Lists: Both curated and custom Access Lists can be configured to present a Challenge.
I have triggered a false positive
A false positive is a request that Shield logged or blocked when you would expect it to pass. To resolve one, find the rule in the event log, then apply an exception that fits.Inspect the event log
Event logs show exactly which rule matched and why. Logs are currently available via the API. See the Shield event log endpoint for details. The response includes aTriggerMatch field that identifies what the engine flagged. Example log:
/.env is matched as a common attack vector. The ruleId (930130) maps to the OWASP Core Rule Set entry for restricted file access, so this is a valid block.
More nuanced rules may need closer inspection. For example, PHP rules can trigger on open-ended PHP code (e.g., <?php without a closing ?>). The TriggerMatch value will often contain a larger fragment of content you can use to confirm whether the match is genuine.
Mitigate the trigger
Once you’ve identified the rule, there are three options, in order of preference:- Add an exception inside the Shield feature that fired. For example, allow a specific file, IP, or User-Agent within the WAF or Access List configuration.
- Add an Edge Rule exception. Edge Rules can disable parts (or all) of Shield based on conditions like a file extension, hostname, or URL path. Useful when the carve-out should apply only to specific traffic patterns.
- Disable the Shield rule entirely. Only recommended as a last resort. Disabling a rule outright may expose your application to the attack vector that rule was protecting against.