Есть ли способ использовать 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.

Для конкретного примера рассмотрим:

Чтобы получить истинный адрес веб-сайта, перейдите на консоль управления 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, ссылка на веб-хостинг будет

http://bucket-name.s3-website-region.amazonaws.com/

Да. Использование AWS Cloudfront позволяет назначить файл по умолчанию.

Я бы посоветовал прочесть эту ветку с 2006 года (о подключении разработчиков веб-сервисов Amazon). Кажется, нет простого решения этого.

Вы можете сделать это с помощью DNS Webforwards и маскировки. просто перейдите к полному пути index.html

www.example.com переадресует на http://www.example.com.s3.amazonaws.com/ и убедитесь, что вы скрыли результаты.

Другие вопросы по тегам