Подтвердить что ты не робот

Amazon CloudFront не уважает мой веб-сайт S3 index.html Правила

Я размещаю статический веб-сайт на Amazon S3, используя статический вариант веб-хостинга, так что S3 будет отображать папку, не указывая мне прямо на мой файл index.html.

Например, вот прямая ссылка на страницу в моем ведре S3: http://new.rdegges.com.s3-website-us-east-1.amazonaws.com/category/2009/ Как вы можете видеть, когда вы посещаете этот URL, Amazon S3 автоматически отображает файл index.html внутри этого каталога, позволяя мне иметь чистые URL-адреса.

Все это отлично работает на S3. Проблема, с которой я сталкиваюсь, заключается в том, чтобы Amazon Cloudfront правильно справилась с этим поведением. Когда я создаю дистрибутив Cloudfront с моим ведомым веером S3, указанным в качестве источника, и скажу ему использовать "index.html" в качестве корня, поведение index.html, которое S3 просто перестает работать вместе.

Например, вот мой такой же URL-адрес, как указано выше в Cloudfront: http://d1mj00c6pby3gc.cloudfront.net/category/2009/

К сожалению, указанный выше URL-адрес НЕ работает, но если я вручную укажу индексный файл, он, например: http://d1mj00c6pby3gc.cloudfront.net/category/2009/index.html

Мой вопрос: как мне нужно настроить Cloudfront таким образом, чтобы он соответствовал моим настройкам байтов S3 для моего сайта?

4b9b3361

Ответ 1

S3 Возможности сайта могут использоваться совместно с Amazon CloudFront. Однако веб-сайт S3 использует другое доменное имя, чем обычные ведра S3. В этом случае вам нужно установить Origin Domain Name вашей конфигурации источника распространения CloudFront на new.rdegges.com.s3-website-us-east-1.amazonaws.com.

Вы можете взять этот URL (конечную точку) из панели статического веб-хостинга на S3:

Static Website Hosting panel on S3

Как только CloudFront указывается на доменное имя сайта S3, функции веб-сайта S3 должны работать.

Ответ 2

Я хотел бы добавить несколько вещей к принятому ответу.

Сначала убедитесь, что у вас есть Default Root Object на вашем облачном фронте. Как указано в документации, это не относится к subdirectories.

При настройке нового распределения облачного режима он позволит вам выбрать ваш ковш bucket-name.s3.amazonaws.com. Обратите внимание, что регион не указан в URL-адресе. Что вам нужно сделать, так это захватить статический URL-адрес сайта из s3 и использовать его как origin url (регион будет там).