Есть ли способ иметь функцию 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?

Ответ 1

Amazon S3 теперь поддерживает Индексные документы

Индексный документ для ведра может быть установлен как index.html. При обращении к корню сайта или подкаталогу, содержащему документ с таким именем, который возвращается документ.

Очень просто сделать это с помощью aws cli:

aws s3 website $MY_BUCKET_NAME --index-document index.html

Вы можете установить индексный документ из консоли управления AWS:

enter image description here

Ответ 2

Для людей, которые все еще борются с этим после 3 лет, позвольте мне добавить важную информацию:

URL-адрес вашего сайта (и которому вы должны указать ваш DNS) не

<bucket_name>.s3-us-west-2.amazonaws.com, но

<bucket_name>.s3-website-us-west-2.amazonaws.com.

Если вы используете первый, он не будет работать должным образом, независимо от того, насколько вы настроите индексный документ.

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

Чтобы получить свой истинный адрес веб-сайта, перейдите в S3 Management Console, выберите целевое ведро, затем Properties, затем Static Website Hosting, Он покажет URL-адрес веб-сайта, который будет работать.

Ответ 3

Вы можете легко решить эту проблему с помощью ссылки Amazon CloudFront . На Amazon CloudFront вы можете изменить корневой объект. Вы можете скачать менеджер здесь: m1.mycloudbuddy.com/downloads.html.

Ответ 4

Поскольку это было долгое время, этот вопрос задавали, и Amazon S3 менял свой интерфейс. Я хотел бы ответить с обновленными снимками экрана.

Нам нужно включить "статический веб-хостинг" для S3, чтобы служить веб-хостингом. - Перейдите в "Свойства" → нажмите на статический веб-хостинг → Выберите "использовать это ведро для размещения веб-сайта", - Введите индексный документ (index.html по умолчанию), код ошибки и правила перенаправления, если они есть. Selecting static web hosting

use-this-bucket-to-host-a-website

Как указано в fooobar.com/questions/1555/..., ссылка веб-хостинга будет

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

Ответ 5

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

Ответ 6

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

Ответ 7

вы можете сделать это, используя dns webforwards и cloaking. просто перейдите на полный путь index.html

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