Files
keycloak-pattern/docs/https-termination.md

911 B

HTTPS termination: nginx or Caddy

두 예제 모두 public 443에서 TLS를 종료하고 private Docker network의 keycloak:8080으로 전달한다. Keycloak 쪽 설정은 deploy/reverse-proxy/keycloak.env.example의 hostname/proxy contract를 같이 사용한다.

  • nginx: 인증서 배포·갱신을 운영자가 담당할 때 적합하다.
  • Caddy: ACME를 통한 인증서 수명주기를 proxy가 담당하게 할 때 간단하다.
  • 둘을 동시에 production entry point로 띄우지 않는다.
  • 인증서와 private key는 repository 또는 image에 포함하지 않는다.
  • HTTP challenge/redirect 및 방화벽의 80/443 허용은 배포 환경에서 별도로 결정한다.

검증 스크립트는 임시 자체 서명 인증서를 만들고 두 vendor image에서 설정을 각각 validate한 뒤 임시 파일을 제거한다.

./scripts/verify-https-termination-config.sh