Skip to content

Troubleshooting

Symptom Cause Fix
503 from the edge all origins fail their health checks check address, port, TLS/SNI and health-check path, and that the origin firewall allows the edge addresses, see Origins
503 with X-ZP-Reason: origin-busy origin at maxconn, its queue full raise the origin's capacity, or maxconn if it can take more
health shows Misconfigured a configured hostname resolves elsewhere, or no origin and no redirect GET /services/{fqdn}/dns names the hostname and its target, see Services
certificate stays pending DNS not at the edge, or CAA blocks the provider fix CNAME, A/AAAA or CAA, then POST /services/{fqdn}/ssl/issue again, see TLS
certificate upload rejected only ECDSA is accepted ECDSA (P-256) certificate, or ACME
apex domain cannot be onboarded no CNAME at the zone apex A and AAAA with the anycast addresses
change not visible propagation wait 30 s; emergency actions take seconds
API clients or monitoring get the challenge page proof-of-work applies to them protection_allowlist, or a skip rule on their address and path with skip: ["pow"], see Protection rules
legitimate users get 429 limits below the application's real traffic raise req_per_10s or add a per-path rule, see Rate limits
429 for legitimate users during a distributed flood origin under load, path_aggregate_per_10s below the real peak of that path raise it or give the path its own rule; check maxconn
403 and you cannot tell who did it several stages can deny pr_deny in the logs names the rule or limit; empty plus coraza_action=deny is the WAF
WAF blocks a form, upload or API payload CRS false positive rule id into disabled_rules, or a lower paranoia_level, see WAF
one visitor blocked on every page, images included a WAF rule matches their session cookie that rule id into disabled_rules
your own rules stopped applying an allow rule above them exempts the traffic narrow the allow rule to a source and path
a rule list blocks far more than intended rules combine with AND, negated deny rules narrow each other alternatives into one rule with match_mode: or
works from one network, fails from another limits, challenges and country rules act per source test from several networks before changing anything
double slash after a redirect target ends with / and redirect_type is prefix remove the trailing slash, see Redirect
API answers 401 from a dual-stack host the request left over the address family not bound to the key bind both addresses, or curl -4, see API access
a visitor reports an error page with a Ray ID the page names the failing side: You (rule, limit, country) or Site (origin refused, busy or silent) send support the Ray ID and Edge Node from the footer; we find the request within 14 days

Error pages

When ZERO-PROTECT answers itself with 403, 429, 502 or 503, the page says where the request failed (visitor, ZERO-PROTECT or your site) and what the visitor can do, and ends with the Ray ID and Edge Node. The Ray ID is also in the X-ZP-Ray response header and reaches your origin as X-Request-ID. A country rule shows "not available in your region". Logo, colours and texts come from your branding, see Account.