Fastly Next-Gen WAF

CDN and WAF

Also known as: Signal Sciences, SigSci, Fastly Bot Management

Best known for blocking on 406 Not Acceptable, a status code almost nothing else uses, which makes an unexplained 406 a strong vendor fingerprint.

Fastly's Next-Gen WAF is the former Signal Sciences product, and it inherited an unusual default: blocked requests are answered with 406 Not Acceptable rather than 403. Because 406 legitimately means the server cannot produce a representation matching the request's Accept header, and because almost no real application ever emits it, an unexplained 406 on an endpoint that normally returns JSON or HTML is one of the more distinctive signatures in this glossary.

The blocking status code is configurable per agent, so a given deployment may return 403 instead. The default is what makes 406 worth recognising.

Signal Sciences works by accumulating signals against a source over a decision window rather than judging a single request, so a client often gets several normal responses before blocking begins. That lag is characteristic and it misleads people into blaming whatever they changed last.

How to identify it

Headers

Status codes

406 Agent block

Blocked. Operator configurable.

The Next-Gen WAF agent blocked the request. 406 is the historic Signal Sciences default and remains the most recognisable signature of the product.

What triggers it

How to confirm it

What to do about it

HTTP/2 406
content-type: text/html
x-served-by: cache-lhr1234-LHR

<html><head><title>406 Not Acceptable</title></head><body></body></html>

403 Configured block response

Blocked. Operator configurable.

The same block decision, on deployments where the operator changed the response status to the more conventional 403.

What triggers it

How to confirm it

What to do about it

429 Rate limiting rule

Rate limited. Observed behaviour.

A rate limiting rule fired against the source.

What triggers it

How to confirm it

What to do about it

If you run a site behind it

If your traffic is being caught by it

Documentation

See also