Files
keycloak-pattern/docs/traefik-forwardauth-alternative.md
T

1.2 KiB

Traefik ForwardAuth alternative

Traefik의 forwardAuth middleware는 nginx auth_request와 같은 정책 지점을 제공한다. 예제는 /oauth2/auth를 oauth2-proxy에 위임하고 성공 응답의 허용된 identity headers만 application request로 복사한다.

중요한 차이:

  • ForwardAuth 자체는 OIDC client나 session manager가 아니다. 이 예제에서도 oauth2-proxy가 code 교환과 cookie를 담당한다.
  • trustForwardHeader=false로 외부 forwarded header를 신뢰하지 않는다.
  • /oauth2/ router는 callback/start 경로를 oauth2-proxy에 연결해야 한다.
  • nginx의 error_page 401 -> /oauth2/start와 같은 로그인 redirect UX는 Traefik errors middleware 또는 oauth2-proxy의 forward-auth redirect profile을 추가로 설계해야 한다.
  • Docker socket label discovery 대신 file provider를 사용해 socket 노출을 피했다. Kubernetes에서는 Middleware/IngressRoute CRD라는 vendor-specific 운영 객체가 추가된다.

이 repository의 실제 AP4 baseline은 학습 가시성이 높은 nginx 조합을 유지한다. verify-traefik-forwardauth-config.sh는 대안 파일을 Traefik binary로 로드하고 즉시 발생하는 provider/config 오류가 없는지 확인한다.