Traefik + cert-manager 사용시 SSL 설정

Traefik 2022년 12월 5일

traefik + cert-manager로 인증서 발급받아서 아주 잘 쓰고 있었어요.

그런데 이번에 새로운 도메인을 사서 거기에 이 블로그를 옮기게 되었어요.

그런데 왜인지 인증서가 적용이 안되더라고요?

항상 ingressroute에 tls 안넣고 써서 그게 왜그런지도 모르고 있었어요.

그렇게 하게 된 삽질에 대해 제가 이 글에서 한 번 말씀드리고자 합니다.

인증서 생성

저는 인증서를 cert-manager 네임스페이스에 만들어 뒀어요.(왜그랬는진 기억이 안나요)

Certificate 리소스의 내용입니다.

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: ppapdev-tls
  namespace: cert-manager
spec:
  secretName: ppapdev-tls-secret
  secretTemplate:
    annotations:
      replicator.v1.mittwald.de/replicate-to: "ghost,ppap"
  dnsNames:
  - 'ppap.dev'
  - '*.ppap.dev'
  issuerRef:
    name: default-issuer
    group: cert-manager.io

이건 수정 완료된 certificate이고 원래는 secretTemplate이 없었습니다. 일단 저 replicator을 이용해 cert-manager 네임스페이스에 있는 시크릿을 ghostppap 네임스페이스에 복사해 줬어요.

Ingress 설정

ingress 세팅은 원래 하던대로(?) 하시면 되지만, tls 세팅을 추가해줘야 했어요. 아마 그 인증서로 사용하는 2번째 ingress부터는 딱히 이 tls 세팅이 필요할것 같진 않아요.

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: ghost
  namespace: ghost
spec:
  tls:
    secretName: ppapdev-tls-secret
  routes:
  - match: Host(`ppap.dev`)
    kind: Rule
    services:
    - name: ghost
      kind: Service
      port: 80
      scheme: http

이렇게 tls 세팅을 해주니 정상적으로 인증서가 표시되는걸 확인했어요.

여기까지가 제가 오늘 한 삽질이었습니당! ㅎ....

아마 제가 너무 문서를 안봐서..? 생긴 일인 것 같긴 하지만(...) 같은 문제가 있다면 위 방법 한번 시도해 보시는것도 나쁘지 않을 것 같아요!

태그

파링

바보