S3에서 호스팅되는 콘텐츠와 함께 index.html 기능을 사용할 수있는 방법이 있습니까?
-
09-06-2019 - |
문제
S3를 index.html 페이지로 기본 설정하는 방법이 있습니까?예 : 내 버킷 객체 목록 : 라코 디스
www.example.com/ index.html 에 대한 호출은 훌륭합니다.그러나 www.example.com / 을 호출하면 버킷 수준 ACL이 구성된 방식에 따라 403 또는 REST 개체 목록 XML 문서를 얻게됩니다.
문제 : S3에서 호스팅되는 콘텐츠에 index.html 기능을 사용할 수있는 방법이 있습니까?
해결책
Amazon S3는 이제 인덱스 문서 를 지원합니다.
버킷에 대한 색인 문서 는 index.html
와 같은 것으로 설정할 수 있습니다.사이트의 루트 또는 해당 이름의 문서가 포함 된 하위 디렉토리에 액세스하면 해당 문서가 반환됩니다.
aws cli를 사용하는 것은 매우 쉽습니다. 라코 디스
AWS Management Console에서 인덱스 문서 를 설정할 수 있습니다.
다른 팁
3 년이 지난 후에도 여전히 어려움을 겪고있는 사람들을 위해 몇 가지 중요한 정보를 추가하겠습니다.
귀하의 웹 사이트 (DNS를 가리켜 야하는)의 URL이
<bucket_name>.s3-us-west-2.amazonaws.com
,하지만
<bucket_name>.s3-website-us-west-2.amazonaws.com
.
첫 번째를 사용하는 경우 색인 문서 .
구체적인 예의 경우 다음을 고려하십시오.
- http://www-example-com.s3.amazonaws.com/ index.html 이 작동합니다.
- http://www-example-com.s3.amazonaws.com/
AccessDenied
로 실패합니다. - http : //www-example-com.s3 -website-us-west-2.amazonaws.com/ 작동합니다!
실제 웹 사이트 주소를 얻으려면 S3 관리 콘솔 로 이동하여 대상 버킷,
Properties
,Static Website Hosting
순입니다. 작동하는 웹 사이트 URL이 표시됩니다.
Amazon CloudFront 링크 를 통해 쉽게 해결할 수 있습니다.Amazon CloudFront에서 루트 객체를 수정할 수 있습니다.여기에서 관리자를 다운로드 할 수 있습니다 : m1.mycloudbuddy.com/downloads.html.
오랜 시간이 지났기 때문에이 질문을 받고 Amazon S3가 인터페이스를 변경했습니다.업데이트 된 스크린 샷으로 답변하고 싶습니다.
S3가 웹 호스팅 역할을하려면 '정적 웹 호스팅'을 활성화해야합니다. -속성으로 이동-> 정적 웹 호스팅 클릭-> '이 버킷을 사용하여 웹 사이트 호스팅'선택 -색인 문서 (기본적으로 index.html), 오류 문서 및 리디렉션 규칙 (있는 경우)을 입력합니다.
https://stackoverflow.com/a/24377823/3086531 에서 대답했듯이 웹 호스팅 링크는
<인용구>이 스레드 를2006 (Amazon 웹 서비스 개발자 연결).이것에 대한 쉬운 해결책이없는 것 같습니다.
예.AWS Cloudfront를 사용하면 기본 파일을 할당 할 수 있습니다.
DNS 웹 포워드 및 클로킹을 사용하여 수행 할 수 있습니다.index.html의 전체 경로로 이동
www.example.com은 http : //www.example.com.s3로 전달됩니다.amazonaws.com 을 입력하고 출력을 숨겨야합니다.