우아한테크코스-6th-FE/트러블슈팅

[트러블슈팅] 배포 사이트에 대체 도메인 접근 시, InvalidRequest로 접근이 차단되었다

Jaymyong66 2024. 7. 27. 17:55

내 사이트인데 왜 나를 막아..

S3 + CloudFront로 배포해놓은 사이트에 대체 도메인으로 등록해놓은 사이트로 접근 시 다음과 같은 에러가 났다.

또 처음에는 도메인으로 사이트에 접근이 되었는데 새로고침 시에도 같은 에러가 났다.

<Code>InvalidRequest</Code>
<Message>Requests using x-amz-source-account or x-amz-source-arn must be made over HTTPS and AWS Signature Version 4</Message>


원인을 파악하다가 http로 요청이 보내지고 있음을 확인했다.

하지만 유저가 http로 요청을 보내도 안전하게 우리 서비스에 접근할 수 있는 방법이 없을까 고민하다가..

 

CloudFront의 뷰어 프로토콜 정책을 알게 되었다.

유저에게 https를 요구하는 것으로 HTTP GET  HEAD 요청은 HTTPS 요청으로 자동 리디렉션하도록 가능해보였다.

 

해결 방법

이미 CloudFront를 생성해놓았다면 동작탭에서 편집을 눌러 다음과 같이 설정할 수 있다.

기존에는 HTTP and HTTPS 옵션이었지만 Redirect HTTP to HTTPS 요청 옵션으로 변경하였다.

InvalidRequest

Requests using x-amz-source-account or x-amz-source-arn must be made over HTTPS and AWS Signature Version 4

에러 해결!