본문 바로가기
CLOUD/AWS

[AWS cloudfront] the request signature we calculated does not match the signature you provided. 에러

by Rainbound-IT 2023. 9. 22.
반응형

목차

     

     

     

    증상

    AWS 관련하여 보안 점검 받았다. S3 가 public 으로 열려있는것을 지적 받았다.

     

    해당 S3 버킷을 private으로 전환하고 cloudfront로 public 하게 접근하려고 하는데

    the request signature we calculated does not match the signature you provided.라는 에러가 발생했다.

     

     

     

    원인

     

    cloudfront가 아닌 다른곳에서 발생할 경우를 보면 Access key 값이 제대로 입력이 되지 않아서 나는 에러인데

     

    위 환경 구성상 cloudfront와 S3 간의 Access key  가 필요 한것이 아니라 해당 문제는 아닌 듯했다.

     

    https://1mini2.tistory.com/142

     

    [CloudFront & S3] SignatureDoesNotMatch ERROR

    S3를 이미지 서버로 해서, Cloudfront와 연결 했습니다. 그런데 오잉, 이게 무슨일이죠!!!! SignatureDoesNotMatch 두둥!!!!😳😳😳😳 이게 무슨일일까요... SignatureDoesNotMatch The request signature we calculated does n

    1mini2.tistory.com

    검색해서 위 블로그 를 보니 cloudfront에서의 header 값 기타 등등을 모두 넘겨주다 보니 특정 키값이 안맞아서 발생하는 에러 였다.

    (무조건 cache를 사용해야하는것은 아니다.)

     

     

    cloudfront 뒤에 어플리케이션이 연결되어 있을경우 보통 이런 설정을 한다.

    cloudfront 뒤에 보통 dynamic web을 사용하여 header 값을 넘겨줘야 하는 경우가 많아서 보통 위처럼 설정하는데

    static으로 s3에 웹페이지 구현을 하는 경우 에러가 위와 같은 에러가 발생한다고 생각한다.

     

     

    해결방법

    원본 요청 정책을 "없음"이라고 설정하면 된다.

     

    없음을 선택해준다.

     

    CDN 치고 cloudfront가 Akamai 보다 싸다는 생각에 싸서 이렇게 설정하기 까다롭고 모니터링 하기 어려운가 라는 생각이 지워지지 않는다....

     

     

     

     

     

     

    반응형

    댓글