summaryrefslogtreecommitdiff
path: root/authelia
diff options
context:
space:
mode:
authorArseney300 <Arseney300@gmail.com>2026-03-04 10:08:15 +0700
committerArseney300 <Arseney300@gmail.com>2026-03-04 10:08:15 +0700
commit5c72caedeed28af783890339100f316632ab08be (patch)
tree10161369330e1e753e05058c9572ea94617f2e73 /authelia
parent7d92d0f87afef181f719483030b907f578fdfbb2 (diff)
Add Netdata auth-request protection and fix Authelia rule ordering
- nginx: add /netdata/ location with auth_request and Cache-Control: no-store to prevent browser-cached pages from triggering CORS errors on API calls - nginx: add explicit Cookie header forwarding to all /_authelia-auth subrequest locations (swave.lol, jenkins, gerrit server blocks) - authelia: fix access_control rule ordering — move netdata/cockpit one_factor rules before the general swave.lol bypass rule so they are evaluated first (Authelia stops at first match) - authelia: split blog/ghost bypass from swave.lol catch-all so the main domain bypass only applies after protected paths are checked Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'authelia')
-rw-r--r--authelia/config/configuration.yml27
1 files changed, 15 insertions, 12 deletions
diff --git a/authelia/config/configuration.yml b/authelia/config/configuration.yml
index 4223001..494b4c4 100644
--- a/authelia/config/configuration.yml
+++ b/authelia/config/configuration.yml
@@ -51,33 +51,36 @@ access_control:
- domain: auth.swave.lol
policy: bypass
- # Public services — no auth required
+ # blog/ghost subdomains — fully public
- domain:
- - swave.lol
- blog.swave.lol
- ghost.swave.lol
policy: bypass
- # Cgit — public read-only git browser
- - domain: cgit.swave.lol
- policy: bypass
- - domain: swave.lol
- resources:
- - '^/cgit(/.*)?$'
- policy: bypass
-
- # Netdata — requires login
+ # Netdata — requires login (must be before the general swave.lol bypass)
- domain: swave.lol
resources:
- '^/netdata(/.*)?$'
policy: one_factor
- # Cockpit — requires login
+ # Cockpit — requires login (must be before the general swave.lol bypass)
- domain: swave.lol
resources:
- '^/cockpit(/.*)?$'
policy: one_factor
+ # Cgit — public read-only git browser
+ - domain: cgit.swave.lol
+ policy: bypass
+ - domain: swave.lol
+ resources:
+ - '^/cgit(/.*)?$'
+ policy: bypass
+
+ # swave.lol main domain — public (Ghost blog), catch-all after protected resources above
+ - domain: swave.lol
+ policy: bypass
+
# Gerrit login — auth_request on /login/ injects X-Forwarded-User once, Gerrit
# maintains its own session from there; anonymous users never hit /login/ directly
- domain: gerrit.swave.lol