Есть ли способ реализовать функциональность index.html с контентом, размещенным на S3?

StackOverflow https://stackoverflow.com/questions/27899

  •  09-06-2019
  •  | 
  •  

Вопрос

Есть ли способ сделать S3 по умолчанию страницей index.html?Например.:Мой список объектов ведра:

/index.html
/favicon.ico
/images/logo.gif

Звонок в www.example.com/index.html прекрасно работает!Но если бы кто-то позвонил www.example.com/ мы получим либо 403, либо XML-документ со списком объектов REST в зависимости от того, как настроен ACL на уровне сегмента.

Итак, вопрос:Есть ли способ реализовать функциональность index.html с контентом, размещенным на S3?

Это было полезно?

Решение

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

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

Это чрезвычайно легко сделать с помощью aws cli:

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

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

enter image description here

Другие советы

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

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

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

<bucket_name>.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 (index.html по умолчанию), документ ошибки и правила перенаправления, если таковые имеются.Selecting static web hosting

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

Как ответил в https://stackoverflow.com/a/24377823/3086531, ссылка на веб-хостинг будет

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

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

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

вы можете сделать это, используя DNS WebForwards и клоакинг.просто перейдите к полному пути index.html

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top