AWS APIGateway CORS(크로스 오리진 리소스 공유) 화면 콘솔이 이상한 이야기

3372 단어 CORSAPIGatewayAWS

요약



AWS의 APIGateway를 이용하여 API를 만들게 되고,
만져 보면 APIGateway의 화면 콘솔에서 버그가 아닌가요? 라는
물건을 찾았습니다.
 

결론부터 말하면
"크로스 오리진 리소스 공유"는 화면에서 만지지 마라!
라는 것입니다.
※「HTTP API」「Lambda 프록시 통합」이용의 경우의 이야기가 됩니다.

이 녀석입니다!


1. 전제



원래, "Lambda 프록시 통합"을 사용하면,
CORS 설정은 직접 수행해야 하는 인식입니다.
AWS APIGateway + Lambda 프록시 통합을 사용하여 CORS 설정에 빠진 이야기

Lambda 측에서 APIGateway를 설정하면 설정 확인란이 표시되지만 작동하지 않습니다.
(독자적으로 response에 기재한 Header가, 덧쓰기되기 (위해)때문에, 반환되지 않게 됩니다.)


2. 재미있는 패턴





의 화면을 「편집」하고, 각종 CORS의 설정을 흥미 본위로 접해 봅니다.
그냥 원래 설정으로 되돌립니다.

※상술한 바와 같이, 「Lambda 통합」을 하고 있는 한,
본 장소에서 CORS 설정은 무시되므로 설정해도 효과가 없습니다.


그래서 모두 확인하면서 원래 화면의 상태로 되돌립니다.

3. 아, CORS 오류가 발생합니다. . . ?



그렇다면 설정을 내보낼 수 있으므로 config를 살펴 보겠습니다.


무려, 여기의 설정 와서 네- 아니야-! ! (゚д゚)!





화면의 사양상,
Access-Control-Max-Age, Access-Control-Allow-Credentials
그러나,
「x-amazon-apigateway-cors」의 정보는 사라지지 않는 것 같네요.

이때의 상태입니다만,
크로스 오리진 리소스 공유 화면은 초기 표시와 상관없이,
Lambda 측의 APIGateway 관련 설정을 보더라도 CORS 설정이 "NO"로 보입니다.


4. 회피 방법



내보낸 정의를 화면에 붙여 넣으면 다시 가져올 수 있습니다.
그러므로, Export된 것을 copipe로 붙이고,
"x-amazon-apigateway-cors"값을 삭제하고 캡처하면 CORS 설정이 삭제됩니다.
(Lambda로 기재한 실장측의 header가 돌려주게 된다.)


여러분도 쾌적한 APIGateway&Lambda 생활을!

좋은 웹페이지 즐겨찾기