API Gateway CORS 권한 부여 문제 해결

1422 단어 APIGateway
여러가지 빠졌기 때문에 참고 정도로.

현상


  • API 게이트웨이에서 CORS를 허용했지만 다음과 같은 오류가 발생합니다.
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    
  • 다른 API에서는 발생하지 않지만 특정 API에서 발생한다
  • curl로 조사하면 정상적으로 반환되었습니다.
  • 위의 오류가 해결 되더라도 다음은 CORB 오류라고합니다

  • 검증 및 해결 방법



    우선은 간단한 API를 만들어 검증해 본다



    Lambda에서 기본 API만 만들어 GET과 POST로 연결하여 CORS 허가시켜 본다.
    설정과 코드는 기본값으로 유지할 수 있습니다.
    이것으로 성공하면 우선 브라우저 측에 문제는 없을 것 같다.

    API를 리소스에서 다시 만들어보세요.



    이것이 의외로 효과가 있으므로, 설정을 보관해 두는지 메모해 둘까 재작성하는 것도 하나의 손입니다.

    설정 확인



    이하, 설정하고 있는 메소드(GET, OPTIONS등) 각각 모두 체크합니다.

    통합 응답



    먼저 통합 응답에 Access-Control-Allow-Origin이 설정되어 있는지 확인합니다.
    제 경우에는 리소스를 새로 만들 때 CORS 활성화를 확인하고 리소스를 만들고 나중에 메서드를 만들면 위가 설정되지 않고 비어있었습니다.
    반대로 메소드까지 모두 작성하고, 나중에 CORS 활성화를 하면 자동으로 설정되어 있었습니다.



    메소드 응답



    위와 같습니다.
    여기가 비어 있으면 CORB 오류가 발생하고 응답 값이 반환되지 않습니다.



    이상

    좋은 웹페이지 즐겨찾기