[2025.02.27] Let's Encrypt 인증서 발급시 CAA 레코드 오류(iptime.org)

아스라이지새는달·2025년 3월 15일
0
post-thumbnail

🤦🏻‍♂️ 증상

Certbot으로 인증서를 발급받는 과정 중 아래와 같이 CAA 레코드 오류가 발생하였다.

Image


🤔 원인

CAA(Certification Authority Authorization) 레코드는 해당 도메인에 대한 인증서를 특정 인증 기관(CA)만 발급할 수 있도록 제한하는 DNS 레코드이다.

인증서를 발급받을 때 도메인으로 iptime에서 제공해주는 DDNS를 사용하였는데 이 DDNS의 상위 도메인인 iptime.org에 CAA 레코드가 설정되어 있어서 Let's Encrypt가 인증서를 발급받을 수 없던 것이다.

Image

iptime.org이 어떤 CA를 허용하고 있는지 확인 해봤을 때 위의 사진과 같이 CAA 0 issue ";"을 출력한다면 어떠한 CA도 허용하지 않는다는 것을 의미한다.


❗️ 해결법

세 가지 방법이 있다.

  1. iptime.org 도메인을 관리하는 ipTIME 측에서 CAA 레코드를 변경하는 방법
  2. 다른 CA 사용하기
  3. 다른 도메인 사용하기 ✅

1번은 개인이 아닌 업체 측에서 관리하기 때문에 현실적으로 불가능하다.
2번은 대부분의 상용 CA는 유료이기 때문에 선택하지 않았다.

DuckDNS와 같이 무료로 도메인을 발급해주는 서비스가 있기 때문에 3번을 선택하였다.

DuckDNS가 아닌 가비아와 같은 곳에서 개인 도메인을 구매해서 사용해도 된다.

DuckDNS에서 도메인 발급

https://www.duckdns.org/domains

DuckDNS에 접속하여 로그인을 해주고 sub domain이라 적힌 칸에 사용할 도메인을 입력해준다.
그 후 current ip 칸에 외부 IP를 입력해주면 된다.

Image

인증서 발급

도메인 부분을 수정하여 다시 인증서를 발급해본다.

docker run --rm \
  -v ~/nginx-https/certbot/conf:/etc/letsencrypt \
  -v ~/nginx-https/certbot/www:/var/www/certbot \
  certbot/certbot certonly \
  --webroot -w /var/www/certbot \
  -d showping.duckdns.org \
  --email your-email@example.com \
  --agree-tos --no-eff-email

Image

성공적으로 인증서 발급이 된 것을 확인할 수 있다.


🔍 Reference

https://yogyui.tistory.com/entry/ipTime-%EA%B3%B5%EC%9C%A0%EA%B8%B0-SSL-%EC%9D%B8%EC%A6%9D%EC%84%9C-%EB%B0%9C%EA%B8%89-Lets-Encrypt

profile
웹 백엔드 개발자가 되는 그날까지

0개의 댓글