일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 삼성역테
- 코딩테스트
- TensorFlow Lite
- 삼성코딩테스트
- tflite
- 그리디
- 코테
- 컴퓨팅사고
- 알고리즘
- dfs문제
- 임베디드 딥러닝
- 삼성코테
- 딥러닝
- tinyml
- 코테 문제
- sort
- 다이나믹프로그래밍
- DP문제
- DP
- 포스코 교육
- 초소형머신러닝
- dfs
- MCU 딥러닝
- BFS
- 포스코 ai 교육
- 포스코 AI교육
- 자료구조
- 삼성역량테스트
- 영상처리
- bfs문제
- Today
- Total
코딩뚠뚠
[AWS] 사용자별 고유 페이지 배포 Access Denied(403) error 본문
현재 진행하고 있는 프로젝트는 S3로 정적 웹호스팅을 하며,
CloudFront 서비스를 이용하고 있다.
기능적으로는 결과페이지 '공유하기' 기능이 있으며 공유하면 랜덤한 고유 token을 넣어 개인별 페이지를 생성한다.
상황설명 및 예시 :
만약 개인별 페이지를 아래와 같이 공유한다면 개인결과라고 볼 수 있을까?
www.advancer-katalk.click/결과페이지
위 페이지는 모두에게 호스팅되는 페이지로 나만의 페이지가 아니다.
www.advancer-katalk.click/결과페이지/2039rkj032fuh0f2j34k23hj4
위와 같이 고유 token을 만들어 공유한다면 내 페이지를 공유할 수 있다.
하지만 S3를 이용해 배포하니 403 에러가 뜨고말았다.
Failed to load resource: the server responded with a status of 403
This XML file does not appear to have any style information associated with it. ~~
<Error> <Code>AccessDenied</Code> ~~
해결 :
CloudFront 가 S3에 없는 객체를 요청한것이 원인이였다.
> 리액트는 각각 '경로'에 대한 static 파일이 존재하지 않는다
> 전체 페이지를 하나의 html에 담아 화면을 표현한다 (index.html)
> 따라서 token으로 만든 페이지라는 사실상 없는 객체를 요청하게 된 것이다
403 error('액세스거부됨') 는 s3 policy에서 ListBucket 권한이 없는 경우 나타나게 되는데
이런 경우를 200 코드를 반환하게 하고 /index.html을 보여주게 하면 된다.
1. CloudFront > 오류페이지 이동
2. 사용자 정의 오류 응답 생성
3. 403 -> 200 및 index.html 경로 설정
이렇게 간단한 방법으로 해결할 수 있었다.
해결하고 개인페이지 공유를 완성한 페이지를 확인해보려면 아래 링크로...
끝
References : https://aws.amazon.com/ko/premiumsupport/knowledge-center/s3-website-cloudfront-error-403/
'공부 > AWS' 카테고리의 다른 글
[AWS] 카톡분석 프로젝트 - 마무리 및 배포 (2) | 2022.08.01 |
---|---|
[AWS] S3 정적웹호스팅 변경내용 바로 적용하기 (0) | 2022.07.24 |
[AWS] 오류 : DNS_PROVE_FINISHED_NXDOMAIN (3) | 2022.06.24 |
[AWS] 카톡분석 프로젝트-10 / React 링크 복사 버튼, 팝업 (1) | 2022.06.22 |
[AWS] 카톡분석 프로젝트-9 / S3 관리 (9) | 2022.06.19 |