docs/content/reference/guides/validating-forwarded-authentication.md
The Forwarded Authentication Integration requires that users validate the configuration is operational in several scenarios such as:
It's also recommended that users take a moment to validate it when upgrading their proxy as a proxy bug, a change in how it operates in regards to the integration, or the upgrade deleting or changing the configuration could result in failures.
This validation is important for all users.
This validation is critical for anyone wishing to use the
networks option in Access Control Rules. These steps ensure
your proxies do not arbitrarily trust the X-Forwarded-For header as described in
Forwarded Headers.
app.example.com domain, add the rule outlined below to the
very top of the Access Control Rules.curl -i -H 'X-Forwarded-For: 169.254.1.2' https://app.example.com302 on the first line and 302 Found on the last line.access_control:
rules:
- domain: 'app.example.com'
policy: 'bypass'
networks:
- '169.254.1.2'
# Your normal rules here.
HTTP/2 302
alt-svc: h3=":443"; ma=2592000
content-type: text/html; charset=utf-8
date: Sat, 21 Mar 2026 04:35:35 GMT
location: https://auth.example.com/?rd=https%3A%2F%2Fapp.example.com%2F&rm=GET
permissions-policy: accelerometer=(), autoplay=(), camera=(), display-capture=(), geolocation=(), gyroscope=(), keyboard-map=(), magnetometer=(), microphone=(), midi=(), payment=(), picture-in-picture=(), screen-wake-lock=(), sync-xhr=(), xr-spatial-tracking=(), interest-cohort=()
referrer-policy: strict-origin-when-cross-origin
set-cookie: authelia-session=Zdlhz6#ZTKPg5MOul3!TRLWv4sb$RznL; expires=Sat, 21 Mar 2026 05:35:36 GMT; domain=example.com; path=/; HttpOnly; secure; SameSite=Lax
x-content-type-options: nosniff
x-dns-prefetch-control: off
x-frame-options: DENY
content-length: 119
<a href="https://auth.example.com/?rd=https%3A%2F%2Fapp.example.com%2F&rm=GET">302 Found</a>