Challenges
Operators can choose to serve a challenge to incoming requests or client, depending on conditions or other rules.
Challenges can be transparent (not shown to user, depends on backend or other logic), non-JavaScript (challenges common browser properties), or custom JavaScript (from Proof of Work to fingerprinting or Captcha is supported)
The following examples are defined in policy snippets and are ready to use. Challenges can be redefined or new ones entirely can be added with different configuration.
Transparent
http
Verify incoming requests against a specified backend to allow the user through. Cookies and some other headers are passed.
For example, this allows verifying the user cookies against the backend to have the user skip all other challenges.
Most request headers (including cookies / authorization) and other general headers from go-away are sent, some additional ones are set, of note:
Header Description X-Away-Method Original request HTTP Method X-Away-Host Original request HTTP Host X-Away-Path Original request URL Path X-Away-Query Original request URL Query
... continue reading