【AWS】APIGateway에 캐쉬를 설정할 때에 빠진 일
1608 단어 APIGateway람다AWS
소개
요 전날 APIGateway에 캐시를 설정하려고 빠졌기 때문에 기사로 둡니다.
캐시를 무효화하고 싶지 않습니다!
엔드포인트에 대한 HTTP 요청 헤더에 [Cache-Control: max-age=0]이 포함되어 있어도 APIGateway 뒤에 삼키는 Lambda를 실행하고 싶지 않습니다! 캐쉬가 있는 경우는 반드시 캐쉬를 받으면 좋겠다.
APIGateway 설정
캐시의 설정 자체는 캐시 유효화에 체크를 해, 용량이나 TTL등을 자유롭게 설정해 버립니다.
캐시 제어 헤더에 대한 설정은 "키별 캐시 비활성화"에 해당합니다.
이미지 설정에서는 "허가된 요청이 없으면 HTTP 요청에 [Cache-Control: max-age=0]이 포함되어 있는 경우 403 오류로 반환하겠습니다"라는 상태.
캐시 무효화할 수 있다… ?
이 상태에서 터미널에서 이하 curl 명령을 두드려도 아무 일도 없었던 것처럼 응답이 돌아옵니다.
그런 다음 CloudWatch에서 로그를 보면 캐시가 작동하지 않는 로그를 볼 수 있습니다.
curl <APIGatewayエンドポイントURL> -H "Cache-Control: max-age=0"
HTTP 요청 메소드 단위 설정 필요
방금 캐시를 설정한 화면입니다만, 실은 스테이지 단위뿐만 아니라 HTTP 리퀘스트 메소드 단위로도 설정할 수 있게 되어 있습니다.
여기서 스테이지 단위의 설정을 덮어 쓰고 있었던 것이 원인이었습니다.
허가가 필요 체크가 들어 있지 않기 때문에 캐시 무효화 무제한입니다.
해결!
요청 메소드 단위에서도 스테이지 단위와 마찬가지로 캐시 설정을 하는 것으로, [Cache-Control: max-age=0] 첨부의 curl 명령을 실행하면 무사히 에러로 응답하게 되었습니다.
이상입니다. 고마워요
Reference
이 문제에 관하여(【AWS】APIGateway에 캐쉬를 설정할 때에 빠진 일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/thim/items/abc3e42a3a993546ba7c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
엔드포인트에 대한 HTTP 요청 헤더에 [Cache-Control: max-age=0]이 포함되어 있어도 APIGateway 뒤에 삼키는 Lambda를 실행하고 싶지 않습니다! 캐쉬가 있는 경우는 반드시 캐쉬를 받으면 좋겠다.
APIGateway 설정
캐시의 설정 자체는 캐시 유효화에 체크를 해, 용량이나 TTL등을 자유롭게 설정해 버립니다.
캐시 제어 헤더에 대한 설정은 "키별 캐시 비활성화"에 해당합니다.
이미지 설정에서는 "허가된 요청이 없으면 HTTP 요청에 [Cache-Control: max-age=0]이 포함되어 있는 경우 403 오류로 반환하겠습니다"라는 상태.
캐시 무효화할 수 있다… ?
이 상태에서 터미널에서 이하 curl 명령을 두드려도 아무 일도 없었던 것처럼 응답이 돌아옵니다.
그런 다음 CloudWatch에서 로그를 보면 캐시가 작동하지 않는 로그를 볼 수 있습니다.
curl <APIGatewayエンドポイントURL> -H "Cache-Control: max-age=0"
HTTP 요청 메소드 단위 설정 필요
방금 캐시를 설정한 화면입니다만, 실은 스테이지 단위뿐만 아니라 HTTP 리퀘스트 메소드 단위로도 설정할 수 있게 되어 있습니다.
여기서 스테이지 단위의 설정을 덮어 쓰고 있었던 것이 원인이었습니다.
허가가 필요 체크가 들어 있지 않기 때문에 캐시 무효화 무제한입니다.
해결!
요청 메소드 단위에서도 스테이지 단위와 마찬가지로 캐시 설정을 하는 것으로, [Cache-Control: max-age=0] 첨부의 curl 명령을 실행하면 무사히 에러로 응답하게 되었습니다.
이상입니다. 고마워요
Reference
이 문제에 관하여(【AWS】APIGateway에 캐쉬를 설정할 때에 빠진 일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/thim/items/abc3e42a3a993546ba7c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 상태에서 터미널에서 이하 curl 명령을 두드려도 아무 일도 없었던 것처럼 응답이 돌아옵니다.
그런 다음 CloudWatch에서 로그를 보면 캐시가 작동하지 않는 로그를 볼 수 있습니다.
curl <APIGatewayエンドポイントURL> -H "Cache-Control: max-age=0"
HTTP 요청 메소드 단위 설정 필요
방금 캐시를 설정한 화면입니다만, 실은 스테이지 단위뿐만 아니라 HTTP 리퀘스트 메소드 단위로도 설정할 수 있게 되어 있습니다.
여기서 스테이지 단위의 설정을 덮어 쓰고 있었던 것이 원인이었습니다.
허가가 필요 체크가 들어 있지 않기 때문에 캐시 무효화 무제한입니다.
해결!
요청 메소드 단위에서도 스테이지 단위와 마찬가지로 캐시 설정을 하는 것으로, [Cache-Control: max-age=0] 첨부의 curl 명령을 실행하면 무사히 에러로 응답하게 되었습니다.
이상입니다. 고마워요
Reference
이 문제에 관하여(【AWS】APIGateway에 캐쉬를 설정할 때에 빠진 일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/thim/items/abc3e42a3a993546ba7c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
요청 메소드 단위에서도 스테이지 단위와 마찬가지로 캐시 설정을 하는 것으로, [Cache-Control: max-age=0] 첨부의 curl 명령을 실행하면 무사히 에러로 응답하게 되었습니다.
이상입니다. 고마워요
Reference
이 문제에 관하여(【AWS】APIGateway에 캐쉬를 설정할 때에 빠진 일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/thim/items/abc3e42a3a993546ba7c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)