API Gateway 사용자 지정 도메인 이름을 호출할 때 잘못된 인증서가 반환되는 이유는 무엇인가요?

3분 분량
0

Amazon API Gateway 사용자 지정 도메인 이름에 API 요청을 하려고 했는데, 잘못된 인증서가 반환되었습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

API Gateway API에 대해 생성할 수 있는 사용자 지정 도메인 이름에는 리전 또는 (REST API의 경우) 엣지 최적화의 두 가지 유형이 있습니다.

리전별 사용자 지정 도메인 이름의 경우, API Gateway는 지역별 도메인 이름을 생성합니다. DNS 레코드를 설정하여 사용자 지정 도메인 이름을 ‘d-example.execute-api.<region>.amazonaws.com’와 유사한 호스트 이름에 매핑해야 합니다.

엣지 최적화 사용자 지정 도메인 이름의 경우 API Gateway가 Amazon CloudFront 배포를 생성합니다. 사용자 지정 도메인 이름을 ‘distribution-id.cloudfront.net’과 유사한 CloudFront 배포 이름에 매핑하도록 DNS 레코드를 설정해야 합니다.

다음 시나리오에서는 SSL 인증서*.example.com 또는 www.example.com이 사용자 지정 도메인 이름 www.example.com에 업로드되었습니다. www.example.com에 대한 API 요청은 다음과 비슷한 오류를 반환합니다.

브라우저에서:

“이 서버는 해당 서버가 www.example.com임을 증명할 수 없습니다. 서버의 보안 인증서는*.execute-api.us-east-1.amazonaws.com에서 가져온 것입니다. 잘못된 구성 또는 공격자가 연결을 가로채고 있기 때문일 수 있습니다.“

Curl에서:

“curl: (60) SSL: 대상 호스트 이름 'www.example.com'과 일치하는 대체 인증서 주체 이름이 없습니다. Curl이 서버의 적법성을 확인하지 못했기 때문에 서버에 보안 연결을 설정할 수 없습니다. 이 상황과 해결 방법에 대해 자세히 알아보려면 위에 언급된 웹 페이지를 방문하세요.”

해결 방법

사용자 지정 도메인 이름의 CNAME 또는 A 레코드가 API Gateway 단계 URL이 아니라 API Gateway 도메인 이름을 가리키는지 확인합니다.

1.    다음 openssl 명령을 실행하여 사용자 지정 도메인에서 SSL 인증서를 반환하는지 확인합니다.

openssl s_client -connect www.example.com:443 -servername www.example.com

출력 예시:

subject=/CN=*.execute-api.us-east-1.amazonaws.com

2.    사용자 지정 도메인에서 다음 dig 명령을 실행합니다.

dig www.example.com

dig 명령 출력에는 API 게이트웨이 단계 URL을 가리키는 CNAME 레코드 또는 IP 주소를 가리키는 A 레코드가 있습니다.

3.    도메인 등록 대행자와 함께 www.example.com 도메인의 DNS 레코드를 확인하여 해당 도메인이 가리키는 위치를 확인합니다. 도메인이 Amazon Route 53에 등록된 경우 Route 53에서 DNS 응답 확인을 참조합니다.

4.    DNS 레코드가 올바르게 매핑되었는지 확인하려면 API Gateway 콘솔을 엽니다. 탐색 창에서 Custom domain names(사용자 지정 도메인 이름)를 선택한 다음 사용자 지정 도메인을 선택합니다.

5.    [도메인 세부 정보]에서 [구성]을 선택한 다음 API Gateway 도메인 이름을 확인합니다. 사용자 지정 도메인 이름은 API Gateway 도메인 이름에 매핑되어야 합니다. 지역별 맞춤 도메인 이름에는 "d-example.execute-api.<region>.amazonaws.com"와 비슷한 접두사가 사용됩니다. 엣지 최적화 사용자 지정 도메인 이름에는 “distribution-id.cloudfront.net”과 비슷한 접두사가 사용됩니다.

6.    CNAME 레코드가 API Gateway 도메인 이름 대신 API Gateway 단계 URL을 가리키는 경우 CNAME 레코드를 업데이트합니다. 단계 URL 대신 API Gateway 도메인 이름을 가리키도록 CNAME 레코드를 변경합니다. 사용자 지정 도메인 이름이 서드 파티에 등록된 경우 도메인 등록 대행자에게 문의하세요. 사용자 지정 도메인 이름이 Route 53에 등록된 경우 레코드 편집을 참조하세요.

7.    Amazon Virtual Private Cloud(VPC) 엔드포인트에서 API를 호출한 경우 CNAME 또는 A 레코드 매핑에서 사용자 지정 도메인 이름을 확인하세요. 프라이빗 DNS가 켜져 있는 경우 API 요청이 4xx 오류를 반환합니다. API 요청이 VPC 엔드포인트를 통해 라우팅되고 CNAME 또는 A 레코드에 매핑되므로 요청이 실패합니다.


관련 정보

API Gateway API에 사용자 지정 도메인 이름을 설정하려면 어떻게 해야 하나요?

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

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음

관련 콘텐츠