프록시 리소스로 API Gateway API를 생성할 때 “구성 오류로 인해 실행에 실패했습니다. 경로에 잘못된 문자가 있습니다” 오류를 해결하려면 어떻게 합니까?

최종 업데이트 날짜: 2021년 10월 6일

AWS CloudFormation 템플릿 (또는 OpenAPI 정의)을 사용하여 프록시 리소스를 사용하는 Amazon API Gateway API를 생성합니다. API를 생성하려고 하면 다음의 "구성 오류로 인해 실행에 실패했습니다. 경로에 잘못된 문자가 있습니다."라는 오류 메시지를 수신합니다. 이 오류를 해결하려면 어떻게 해야 합니까?

간략한 설명

프록시 경로 파라미터 ({proxy+})에 대한 URL 경로 파라미터 매핑이 정의되지 않은 경우 API Gateway는 다음 오류를 반환합니다.

구성 오류로 인해 실행에 실패했습니다. 경로에 잘못된 문자가 있습니다.

통합 요청에서 이 파라미터에 대해 정의된 URL 경로 파라미터 매핑이 없으면, API Gateway는 파라미터를 문자열 "{proxy+}"로 평가합니다. “{”는 유효한 문자가 아니기 때문에 이 경우 API Gateway에서 오류를 반환합니다.

오류를 해결하려면, 다음을 수행하여 통합 요청에서 프록시 경로 파라미터에 대한 URL 경로 파라미터 매핑을 정의합니다.

해결 방법

1.    API Gateway 콘솔에서 API 이름을 선택합니다.

2.    [리소스] 창에서 선택한 메소드를 통해 [통합 요청]을 [메소드 실행] 창에서 선택합니다.

3.    [Integration Request] 창에서 Endpoint URL이 올바른 프록시 경로 파라미터: {proxy}를 사용하는지 확인합니다. (그리디 경로 변수 “+”가 없어야 합니다.) 예: http://example.com/{proxy}

4.    [URL 경로 파라미터(URL Path Parameters)]를 확장합니다. 그런 다음 [경로 추가]를 선택하고 다음을 수행합니다.
[이름]에 proxy를 입력합니다. 이것은 Endpoint URL의 파라미터에 해당합니다.
[Mapped from]에 method.request.path를 입력합니다.
참고: 여기서 proxy메소드 요청 창에 정의된 요청 경로 이름에 해당합니다. 이 요청 경로는 {proxy}라는 이름의 프록시 리소스를 생성하거나, 그리디 경로 변수의 경우 {proxy+} 를 생성하여 추가됩니다.

5.    확인 표시 아이콘(생성)을 선택합니다.

참고: 오류 메시지 Invalid mapping expression specified를 수신하면 AWS CloudFormation 템플릿 또는 OpenAPI 정의를 업데이트합니다. 그런 다음 이 문서의 단계를 반복합니다.

6.    API를 배포합니다.