사용자 지정 도메인 이름을 사용하여 API Gateway API를 호출할 때 인증서 만료 또는 'invalid certificate(잘못된 인증서)' 오류를 해결하려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2022년 9월 23일

API Gateway API에 사용자 지정 도메인 이름을 설정했습니다. AWS Certificate manager(ACM) 인증서가 만료되었거나 'invalid certificate(잘못된 인증서)' 오류가 발생했습니다. 이 오류를 해결하려면 어떻게 해야 하나요?

간략한 설명

사용자 지정 도메인 이름을 만드는 데 사용한 인증서가 만료되면 인증서 만료 오류가 발생합니다.

인증서의 일반 이름(CN) 또는 주체 이름이 일치하지 않아 'invalid certificate error(잘못된 인증서 오류)'가 발생합니다.

해결 방법

만료된 ACM 인증서

인증서가 만료되면 다음과 비슷한 오류가 발생할 수 있습니다.

"SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]"
인증서 만료를 확인하려면 다음과 비슷한 OpenSSL 명령 s_client 명령을 실행합니다.

openssl s_client -servername <custom domain name> -connect <custom domain name>:443 2>/dev/null | openssl x509 -noout -dates

인증서를 갱신하려면 ACM 인증서의 관리형 갱신을 참조하세요.

인증서 만료를 방지하려면 ACM에서 가져온 인증서의 만료를 모니터링하는 방법을 참조하세요.

일치하지 않는 ACM 인증서

인증서의 CN 또는 주체 이름이 일치하지 않는 경우 다음과 유사한 오류가 발생할 수 있습니다.

"ERR_CERT_COMMON_NAME_INVALID"

다음 설정을 확인하세요.

  • 사용자 지정 도메인 이름을 생성하는 데 사용된 인증서가 ACM에 있습니다.
  • 인증서 주체 이름 또는 CN에는 사용자 지정 도메인 이름이 포함됩니다. 예를 들어 사용자 지정 도메인 이름이 custom.example.com인 경우 주체 이름 또는 CN에 custom.example.com 또는 *example.com이 포함되어야 합니다.
  • API Gateway 사용자 지정 도메인 이름을 가리키는 DNS 레코드가 있는지 확인하세요. DNS 레코드는 CNAME 또는 A 유형일 수 있습니다.

참고: 인증서에는 주체 대체 이름(SAN)으로 나열된 사용자 지정 도메인이 없기 때문에 사용자 지정 도메인 이름은 execute-api 엔드포인트를 직접 가리킬 수 없습니다.

구성 예:

custom.example.com -> CNAME record -> d-yg54udirl4.execute-api.us-east-1.amazonaws.com

다음과 유사한 사용자 지정 도메인에서 dig 명령을 실행하여 구성을 확인할 수 있습니다.

$ dig custom.example.com