Я рискну и скажу, что указанный ключ не существует технически, поэтому сообщение об ошибке технически точное, но не раскрывает всей истории. Это должно быть легко исправить.
У корзин S3 есть две конечные точки: «REST» и «веб-сайт». У них есть два разных набора функций. Конечная точка веб-сайта обеспечивает волшебное разрешение индексных документов (например, index.html, который, по-видимому, является тем, что на самом деле должно быть возвращено браузеру в приведенном вами примере), в то время как конечные точки REST - нет.
Когда вы настраиваете CloudFront перед корзиной, используемой для хостинга веб-сайтов, вы обычно не хотите настраивать источник как источник «S3», выбирая имя корзины из раскрывающегося списка; вместо этого вы хотите настроить его как «Пользовательский» источник и использовать имя хоста конечной точки веб-сайта, как указано в консоли S3 (например, example-bucket.s3-website-us-east-1...
), потому что в противном случае CloudFront предполагает, что вы хотите, чтобы он использовал конечную точку REST для сегмента (что позволяет аутентификация и частный контент, чего нет на конечной точке веб-сайта).
Важно
Не выбирайте название своей корзины из списка, например, example.com.s3.amazonaws.com.
http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-create-cfdist.html
После первоначального ответа на этот вопрос документация была переработана, поэтому сообщение, показанное выше, теперь появляется на одну страницу позже и было изменено, но суть осталась прежней. «Название корзины», кажется, относится к вариантам, показанным в раскрывающемся списке, а это не то, что вам нужно.
Примечание
Обязательно укажите конечную точку хостинга статического веб-сайта, а не имя сегмента.
http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-cloudfront-walkthrough.html
Подсказка о том, что вы используете конечную точку REST для корзины, заключается в том, что сообщение об ошибке не было бы в XML, если бы вы использовали конечную точку веб-сайта - конечная точка веб-сайта возвращает сообщения об ошибках в HTML, а не в XML.
Создайте новый источник для распространения CloudFront, как описано, затем измените поведение для отправки запросов в новый источник, затем отправьте запрос аннулирования кеша CloudFront для /*
, и вы должны быть настроены.
Смотрите также:
http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html#WebsiteRestEndpointDiff
две конечные точки. Технически их больше двух, поскольку все сегменты имеют как минимум два возможных имени хоста конечной точки REST ... но есть два типа конечных точек. У корзин также есть дополнительная конечная точка ускорения передачи, которая использует граничную сеть AWS (ту же инфраструктуру, что и CloudFront) для более быстрой / оптимизированной передачи, особенно из географических местоположений, более удаленных от региона, где предоставляется корзина, но без использования кеша CloudFront. Эта конечная точка выглядит https://example-bucket.s3-accelerate.amazonaws.com
, если вы ее активируете, и за нее взимается дополнительная плата за большинство запросов, поскольку вы используете большую часть сети AWS и меньше общедоступного Интернета ... развертывание конечной точки, а не поведение конечной точки. Конечная точка ускорения передачи по-прежнему является конечной точкой REST, поэтому, как и другие конечные точки REST, у нее нет функций хостинга веб-сайтов. CloudFront не позволит вам использовать конечную точку ускорения для исходного доменного имени, потому что это не имело бы смысла - если бы такая конфигурация была разрешена, запросы и ответы дважды проходили бы через пограничную сеть AWS и увеличивали как задержку, так и затраты без предоставление какой-либо выгоды.
person
Michael - sqlbot
schedule
03.12.2015