Есть ли способ иметь функцию 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:
Ответ 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 по умолчанию), код ошибки и правила перенаправления, если они есть.
Как указано в 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 и убедитесь, что вы закрываете вывод.