jasonbla

[AWS] Amazon S3 Service 이용 시 Favicon error 해결하기(Forbidden Error) 본문

Programming/Aws

[AWS] Amazon S3 Service 이용 시 Favicon error 해결하기(Forbidden Error)

jason jason hwang 2016.10.06 00:32

Amazon의 S3 Storage를 이용하다 보면 해당 Bucket의 Root Directory에 Favicon.ico를 업로드 하였음에도 불구하고 다음과 같은 에러가 나는 경우가 있다.


Failed to load resource: the server responded with a status of 403 (Forbidden)



S3의 Root에 Favicon.ico가 없다는 건 당연히 알겠는데.. S3의 Root에서는 오로지 Bucket 생성만 가능한데 어떻게 Favicon을 추가하란 이야기인지 이해가 안 돼서 계속 구글링하다가 답변을 얻게 됨.


참고 링크

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/VirtualHosting.html


사용자 지정 URL 외에도 가상 호스팅의 또 다른 장점은 버킷 가상 서버의 "루트 디렉터리"에 게시할 수 있는 기능입니다. 이 기능은 기존의 많은 애플리케이션이 이 표준 위치에서 파일을 검색하기 때문에 중요할 수 있습니다.

결론부터...

결론부터 이야기하면 Bucket의 가상 호스팅(Virtual Hosting)을 이용하면 해당 리소스(Favicon, Robot.txt, crossdomain.xml 등)를 Bucket의 Root Directory에 게시할 수 있다.  따라서, 해당 Bucket의 Root Directory에 Favicon (또는 다른 리소스)을 업로드하고, 가상 호스팅 도메인으로 접속을 하면 Favicon 에러는 사라지게 된다.


1) Bucket의 Root Directory에 Favicon 업로드
2) 가상 호스팅 도메인 접속




알아두기

Amazon S3는 모든 지역(리젼)에서 버킷 액세스에 대해 다음 두 가지 방식을 지원한다.


1) 가상 호스팅 방식 액세스

2) 경로 방식 액세스


가상 호스팅(Virtual Hosting) 액세스란?

단일 웹 서버로부터 여러 웹 사이트를 제공하는 것.

AWS의 S3 서비스에서 가상 호스팅 예를 들자면..


AWS S3 service URL : https://s3-us-west-2.amazonaws.com/ 이고,

Bucket1, Bucket2가 존재할 때 다음과 같이 가상 호스팅이 가능하다.


1) https://Bucket1.s3-us-west-2.amazonaws.com/

2) https://Bucket2.s3-us-west-2.amazonaws.com/


경로 방식 액세스란?

URI의 경로 이름 부분으로 호스트를 구분하는 것.


1) https://s3-us-west-2.amazonaws.com/Bucket1/...

2) https://s3-us-west-2.amazonaws.com/Bucket2/...


0 Comments
댓글쓰기 폼