S3에 프론트엔드에서 작성해서 빌드된 파일(ex./dist, index.html, etc)이 저장되어 있고 CloudFront를 통해 서비스를 진행하고 있다.
근데, CloudFront에 배포 이름을 설정한 후에 하위 도메인(ex. www.video.test/man)으로 접근하면 403 error가 발생했다.
CloudFront의 배포 도메인 이름만을 주소창에 입력한다면 자동적으로 S3의 index.html 파일을 찾아서 실행을 해주는데, 만약에 S3 REST API 엔드포인트를 CloudFront Origin으로 설정한 경우에는 CloudFront 가 Origin(S3) 로 객체를 요청하게 된다.
즉, 웹 서버로 요청하는게 아니라 진짜 객체 저장소(S3의 버켓)에 요청하게 된다. 따라서 Host 뒷 부분 하위 도메인에 대한 정보는 해당 하는 경로(=객체 Key)와 매칭되는 객체가 없어서 403 에러가 발생해준다는 뜻이다.
이를 해결하기 위해서는 CloudFront 배포 내에서 오류 페이지에서 "사용자 정의 오류 응답 생성"을 해줘야 한다.
