21 lines
911 B
Markdown
21 lines
911 B
Markdown
# 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한 뒤 임시 파일을 제거한다.
|
|
|
|
```sh
|
|
./scripts/verify-https-termination-config.sh
|
|
```
|