AWS CloudFormation 또는 OpenAPI(Swagger)를 사용하여 프록시 리소스를 사용하는 API 게이트웨이를 생성할 때, "Execution failed due to configuration error: Illegal character in path."라는 오류 메시지를 수신했습니다. 이 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 7월 3일

AWS CloudFormation 템플릿 또는 OpenAPI(Swagger) 정의를 사용하여 프록시 리소스를 사용하는 Amazon API Gateway API를 생성합니다. API를 생성할 때 "Execution failed due to configuration error: Illegal character in path."라는 오류 메시지를 수신합니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

이 오류는 프록시 경로 파라미터 {proxy+}("과대(greedy) 경로 변수"라고도 함)에 대한 URL 경로 파라미터 매핑을 정의하지 않은 경우 발생할 수 있습니다. 해당 매핑 정의 없이 API 게이트웨이는 파라미터 이름을 리터럴 문자열 "{proxy +}"로 평가합니다. 이 경우, "{"는 유효한 문자가 아니므로 오류가 발생합니다.

해결 방법

  1. API Gateway 콘솔에서 API 이름을 선택합니다.
  2. [Method Execution] 창의 [Resources] 창에서 선택한 방법으로 [Integration Request]를 선택합니다
  3. [Integration Request] 창에서 Endpoint URL이 올바른 프록시 경로 파라미터: {proxy}를 사용하는지 확인합니다. (즉, 복잡한 경로 변수 “+”가 없어야 합니다.) 예: http://example.com/{proxy}
  4. URL 경로 파라미터를 확장하여 [Add path]를 선택합니다.
  5. 다음을 수행합니다.
    [Name]에 프록시를 입력합니다. 이것은 Endpoint URL의 파라미터에 해당합니다.
    [Mapped from]에 method.request.path를 입력합니다. 여기서 프록시[Method Request pane] 창에 정의된 요청 경로 이름에 해당합니다.
  6. 확인 표시 아이콘(Create)을 선택합니다.
    참고: 오류 메시지 "Invalid mapping expression specified,"를 수신하면 AWS CloudFormation 템플릿 또는 OpenAPI 정의를 업데이트합니다. 그런 다음 이 문서의 단계를 반복합니다.
  7. API를 배포합니다.