ESA에서 CNAME 모드로 와일드카드 인증서를 받는 방법
Categories:
도메인이 알리바바 클라우드 DNS 또는 서드파티에 호스팅되어 있어 NS를 이전할 수 없지만 와일드카드가 필요할 때, 알리바바 클라우드 ESA는 10장의 인증서 한도를 제공하지만 명백히 충분하지 않습니다.
이 글에서는 와일드카드 인증서를 받는 방법을 공유하고, 마지막에 원리를 설명합니다.
다음 두 가지 비즈니스 인터페이스에서 작업이 필요합니다:
- ESA
- 도메인 네임서버(또는 서드파티 DNS)
작업 절차
- ESA: DNS -> 설정: NS 접속 모드로 전환, 바로 확인, 추가 작업 불필요
- ESA: 무료 엣지 인증서 신청,
*.example.com만 신청, 자신의 도메인 사용 - ESA: 진행 중인 인증서의 드롭다운 메뉴를 열어 TXT 레코드 확인, 호스트 레코드:
_acme-challenge.example.com, 레코드 값:-PewtWrH93avbM_bScUILtcNwCHifNvjZIa2VgT9seQ - 도메인 네임서버: 위 단계에서 얻은 호스트 레코드와 레코드 값을 TXT 레코드로 생성
- 와일드카드 인증서 수령 대기, 10분 이내 미수령 시 오류 발생, 직접 점검
- ESA: DNS -> 설정: CNAME 접속 모드로 전환, 바로 확인, 추가 작업 불필요
원리
무료 인증서는 모두 letsencrypt에서 제공되며, 두 가지 인증 방식이 있습니다:
- HTTP-01 챌린지: Let’s Encrypt 검증 서버가 HTTP 요청으로 서버의 특정 파일(.well-known/acme-challenge/ 경로)에 접근해 도메인 소유권을 확인
- DNS-01 챌린지: 도메인 DNS 레코드에 특정 TXT 레코드를 추가해 도메인 소유권을 증명
와일드카드 인증서는 DNS-01 챌린지로만 발급 가능하며, 이는 DNS 레코드 설정이 필요합니다. 따라서 ESA는 와일드카드 인증서 신청 시 도메인을 ESA 플랫폼으로 호스팅하도록 요구합니다. 작업 절차의 “ESA: DNS -> 설정: NS 접속 모드로 전환“은 ESA 인터페이스 ApplyCertificate 반환 정보를 분석한 결과이며, 이 단계는 실제 작용이 없고 알리바바 클라우드 검증을 우회하기 위한 것입니다.
핵심은 Let’s Encrypt에 인증서를 신청할 때 미리 정해진 TXT 레코드를 도메인 NS 서버에 기록하는 것으로, 이 서버가 도메인 네임서버이든 ESA이든 도메인 소유권을 입증할 수 있습니다.
요약
ESA와 도메인 네임서버는 모두 알리바바 클라우드 소속이지만 데이터 연동이 되어 있지 않습니다. ESA는 명백히 도메인이 해당 계정 소속인지 검증할 수 있는 능력이 있음에도 불구하고, 와일드카드 인증서 발급을 위해 도메인 네임서버에 단일 레코드만 추가하면 되는 것을 권한 부여 없이 구현하지 않았습니다. 사용자 경험 개선 여지가 있습니다.
이 방법으로 발급한 인증서는 갱신이 어려울 수 있으며, 다른 방법으로 ESA에 인증서를 동기화할 수 있습니다: https://api.aliyun.com/api/ESA/2024-09-10/SetCertificate