AWS CloudFront загружает файлы, когда несколько веб-сайтов размещены в одной корзине

У меня 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. Эти два веб-сайта связаны между собой и, следовательно, должны хранить их в одном сегменте. Как я могу избавиться от этой загрузки? Также должен ли я создать другой источник и соответствующее поведение, чтобы сделать это правильно?

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

Maurice 11.12.2018 19:11

Я проверил, это другая проблема. Для меня /abc/index.html обслуживается, но только когда я обновляю его загрузку пустого файла. Также я не настраивал ведро s3 для размещения веб-сайта

hakuna 11.12.2018 19:21

Происходит ли это, когда вы используете другой браузер? Такое поведение кажется очень странным ...

Maurice 11.12.2018 19:23

Да, это происходит в Chrome и Firefox. с IE он показывает пустую страницу, но когда я помещаю фактический перенаправленный путь, он также загружает его.

hakuna 11.12.2018 19:42

Не могли бы вы запустить curl против /abc/index.html, как описано в ответе на этот вопрос - изменяется ли вывод, когда вы запускаете его несколько раз?

Maurice 11.12.2018 19:55

Побежал локон. Content-Type - это text / html, а не тег для Content-Disposition, поэтому метаданные такие, как ожидалось

hakuna 11.12.2018 20:09

Хостинг веб-сайта через s3 обслуживает оба веб-сайта правильно, но не через облачный интерфейс.

hakuna 12.12.2018 04:14
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
7
791
0

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