API Gateway + Lambda CORS 관련 오류 해결
4387 단어 APIGateway람다AWS
기본 대책
API Gateway에서 CORS 사용
API Gateway 작업에서 CORS 활성화를 설정하는 것이 기본 조치입니다.
보통은 이것으로 OK일 것.
오류가 발생하여 설정을 반영할 수 없는 경우
내 환경에서 다음과 같은 오류가 제대로 설정되지 않았습니다.Invalid Response status code specified
대책(응답 헤더를 수동으로 설정)
화면
↑여기 선택
↑이런 방식으로 수동 설정
확인
상기를 수정하고, 또 한번 CORS의 유효화를 행하면(자), 헤더를 기입한 메소드는 에러가 해소되고 있다.
모든 메소드에 대해 위의 방법으로 수동 설정했는데 CORS 활성화시의 에러가 없어졌습니다.
(Access-Control-Allow-Origin 통합 응답 헤더 매핑)이라는 것만으로 에러를 해소할 수 없는 일이 있었습니다만, 우선 액세스는 할 수 있었습니다. 어쩌면 아래의 Lambda 쪽으로 해결할 수 있을까? 라고 생각합니다.
(!) CORS를 활성화하면 배포를 잊지 마세요!
통합이 아닌 다른 에러가 해소하고 싶은데 여전히 액세스할 수 없는 등의 경우는, API Gateway의 배포를 잊지 않고. (익숙한 사람은 당연한 것일지도 모르지만 자신은 배포를 잊고 엄청나게 줬습니다)
Lambda의 응답
위에서 API Gateway의 CORS는 설정할 수 있지만, 그 앞이 Lambda인 경우는 Lambda의 응답도 설정해야 합니다. 우선 전부 허가하는 경우는, 이런 느낌이 됩니다.
exports.handler = async (event) => {
const response = {
statusCode: 200,
headers: {
"Access-Control-Allow-Headers" : "Content-Type",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET"
},
'body': JSON.stringify({
message: 'hello world Test2!!',
})
};
return response;
};
참고
h tps : // s t c ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 45820769 / 훗이 l과 에나 b
htps : // / cs. 아 ws. 아마존. 이 m / 그럼 _ jp / 아피가 테와 y / ㅁ st / ゔ ぇ ぺ ぺ ぐ い で / 호 w - 토코 rs. HTML
Reference
이 문제에 관하여(API Gateway + Lambda CORS 관련 오류 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shin1kt/items/db6bae7fbe70573d530a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)