911 B
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