Files
Asger Geel Weirsøe d117a9aaf0
Build & Deploy / deploy (push) Successful in 23s
Stempler omregnet til Zola-front matter
2026-11-01 16:47:18 +01:00

78 lines
3.5 KiB
Markdown

---
title: "Authentik bag en reverse proxy: forward auth, outposts og 502-fælden"
description: "Forward auth eller proxy provider? Og hvorfor store auth-headers giver 502 i nginx, når Authentik sidder bagved."
date: 2026-06-05
taxonomies:
tags: [authentik, reverse-proxy, oidc, nginx]
draft: false
extra:
godkendt: "v1:b0b1b6d1a125dc01aef63fec8fd88db9f00039d8215137ec20c9cae234bce68a"
---
Når du sætter **Authentik** bag en reverse proxy, skal du tidligt træffe et valg:
skal proxyen selv håndtere applikationstrafikken og kun spørge Authentik
*"må den her bruger?"*, eller skal Authentik stå helt foran? De to modeller hedder
**forward auth** og **proxy provider**, og de løser hver sit problem.
## Forward auth kontra proxy provider
Med **forward auth** bruger du din eksisterende reverse proxy til selve trafikken,
og Authentiks **outpost** bliver kun spurgt om authentication og authorization.
Det er den model jeg foretrækker, fordi min proxy i forvejen styrer TLS, routing
og certifikater .. Authentik skal bare sige god eller ej.
Med en **proxy provider** lader du Authentik proxye trafikken hele vejen. Det er
enklere for enkeltstående apps, men du giver afkald på noget kontrol over edge'en.
For at bruge forward auth vælger du en af forward-auth-tilstandene på proxy
provideren og konfigurerer din reverse proxy til at sende auth-tjek til outposten.
Vælg **domain-level** hvis du vil dele login på tværs af mange subdomæner, og
**single application** hvis det kun gælder én app.
## 502-fælden: for store auth-headers
Her er den der koster timer. Alt virker, men en gang imellem .. eller for nogle
brugere .. svarer appen med **502 Bad Gateway**. Det er ofte fordi auth-proxyen
sender **meget store response-headers** tilbage (tænk mange grupper-claims eller
lange tokens), og nginx' default-buffere er for små til at rumme dem.
Løsningen er at skrue op for buffer-størrelserne i nginx:
```nginx
proxy_buffers 8 16k;
proxy_buffer_size 32k;
```
Justér tallene op hvis du har mange grupper på din bruger. Det er ikke en
Authentik-bug, det er nginx der nægter at videresende en header den synes er for
stor.
## WebSockets og HTTP/1.1 er et krav
Authentik kommunikerer med sine **outposts over WebSockets**, og din reverse proxy
**skal** kunne tale HTTP/1.1 eller nyere. Kører proxyen i en gammel
HTTP/1.0-tilstand, eller mangler den `Upgrade`- og `Connection`-headerne, så får
outposten aldrig forbindelse, og din UI viser bare `502 authentik starting...` i
en uendelighed.
## Sørg for at proto-headeren er sat
Det samme råd som med ren OIDC gælder her: din proxy skal sende
`X-Forwarded-Proto`, `X-Forwarded-Host` og `X-Forwarded-For` videre. Gør den ikke
det, bygger Authentik forkerte redirect-URI'er, og du ender i den klassiske
`redirect_uri`-fejl .. nu bare med et ekstra lag proxy at fejlsøge igennem.
## Min anbefaling
Start med **forward auth** hvis du allerede har en reverse proxy du er glad for.
Hold proxyens buffere store nok fra dag ét, tjek at WebSockets går igennem, og
send dine forwarded-headers korrekt. Så er du fri for langt de fleste af de fejl
jeg har brugt aftener på.
## Kilder og videre læsning
- [Authentik docs: Forward auth](https://docs.goauthentik.io/add-secure-apps/providers/proxy/forward_auth/)
- [Authentik docs: Reverse proxy](https://docs.goauthentik.io/install-config/reverse-proxy/)
- [Authentik #2247: 502 "authentik starting..."](https://github.com/goauthentik/authentik/issues/2247)
- [Authentik #18445: nginx-proxy-manager setup](https://github.com/goauthentik/authentik/discussions/18445)