У меня s3 bucket myBucket с двумя сайтами в нем. Первый сайт находится в корневом каталоге, а второй находится в папке abc. Дистрибутив CloudFront настроен на myBucket и успешно работает уже год. Вот политика идентификации облачного доступа в корзине.
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXXXX"
},
"Action": "s3:GetObject",
"Resource": [
"arn:aws:s3:::myBucket",
"arn:aws:s3:::myBucket/*"
]
}
]
}
Поскольку идентификатор облачного интерфейса имеет доступ ко всем корзинам, он успешно обслуживает страницы из папки корзины myBucket/abc при доступе через https://myexample.com/abc/index.html, но при обновлении загружает пустой файл с именем download. Эти два веб-сайта связаны между собой и, следовательно, должны хранить их в одном сегменте. Как я могу избавиться от этой загрузки? Также должен ли я создать другой источник и соответствующее поведение, чтобы сделать это правильно?
Я проверил, это другая проблема. Для меня /abc/index.html обслуживается, но только когда я обновляю его загрузку пустого файла. Также я не настраивал ведро s3 для размещения веб-сайта
Происходит ли это, когда вы используете другой браузер? Такое поведение кажется очень странным ...
Да, это происходит в Chrome и Firefox. с IE он показывает пустую страницу, но когда я помещаю фактический перенаправленный путь, он также загружает его.
Не могли бы вы запустить curl против /abc/index.html, как описано в ответе на этот вопрос - изменяется ли вывод, когда вы запускаете его несколько раз?
Побежал локон. Content-Type - это text / html, а не тег для Content-Disposition, поэтому метаданные такие, как ожидалось
Хостинг веб-сайта через s3 обслуживает оба веб-сайта правильно, но не через облачный интерфейс.





Эй, это вызвало у меня любопытство, поэтому я немного погуглил - вы уже нашли и подтвердили это?