Есть ли способ использовать index.html с содержимым, размещенным на S3?
Есть ли способ сделать S3 по умолчанию для страницы index.html? Например: мой список объектов корзины:
/index.html
/favicon.ico
/images/logo.gif
Звонок на www.example.com/index.html прекрасно работает! Но если бы кто-нибудь позвонил на www.example.com/, мы бы получили объект 403 или объект REST, содержащий список XML-документа, в зависимости от того, как был настроен ACL на уровне сегмента.
Итак, вопрос: есть ли способ иметь функциональность index.html с содержимым, размещенным на S3?
7 ответов
Amazon S3 теперь поддерживает индексные документы
Индексный документ для корзины может быть установлен на что-то вроде index.html
, При доступе к корню сайта или подкаталогу, содержащему документ с таким именем, этот документ возвращается.
Это очень легко сделать с помощью aws cli:
aws s3 website $MY_BUCKET_NAME --index-document index.html
Вы можете установить индексный документ из Консоли управления AWS:
Для людей, которые все еще борются с этим после 3 лет, позвольте мне добавить некоторую важную информацию:
URL вашего сайта (и на который вы должны указать свой DNS) не является
<bucket_name>.s3-us-west-2.amazonaws.com
, но
<bucket_name>.s3-website-us-west-2.amazonaws.com
,
Если вы используете первый, он не будет работать должным образом, независимо от того, насколько вы сконфигурировали документ Index.
Для конкретного примера рассмотрим:
- 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), документ с ошибкой и правила перенаправления, если таковые имеются.
Как ответили в /questions/33860919/est-li-sposob-ispolzovat-indexhtml-s-soderzhimyim-razmeschennyim-na-s3/33860926#33860926, ссылка на веб-хостинг будет
Да. Использование AWS Cloudfront позволяет назначить файл по умолчанию.
Я бы посоветовал прочесть эту ветку с 2006 года (о подключении разработчиков веб-сервисов Amazon). Кажется, нет простого решения этого.
Вы можете сделать это с помощью DNS Webforwards и маскировки. просто перейдите к полному пути index.html
www.example.com переадресует на http://www.example.com.s3.amazonaws.com/ и убедитесь, что вы скрыли результаты.