Приватное приложение S3 + CloudFront response: «Похоже, что файл XML не имеет связанной с ним информации о стиле» - PullRequest
0 голосов
/ 07 мая 2020

Это вопрос, следующий за вопросом, найденным здесь: Веб-сайт CloudFront + S3: «Указанный ключ не существует», когда должен отображаться неявный индексный документ

Я пытаюсь разместить одностраничное приложение React (веб-сайт stati c) через S3, и я хочу разрешить доступ только по https (с использованием настраиваемого SSL). У меня все настроено с помощью CloudFront, и мой веб-сайт отлично отображается по URL-адресу CloudFront. Но когда я просматриваю приложение, я получаю сообщение об ошибке , показанное в приведенной выше ссылке .

Согласно этому сообщению, ошибка исправляется переключением с REST на конечную точку веб-сайта. Но в процессе вы должны сделать свою корзину S3 publi c. Мой вопрос: есть ли способ исправить эту ошибку, не переключаясь на конечную точку веб-сайта и в процессе делая весь мой контент S3 publi c? Есть ли какой-то обходной путь в экосистеме AWS, где я могу объединить частное содержимое S3 с процессом, который возвращает html do c без ошибки формата XML? Согласно этой ссылке (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html#WebsiteRestEndpointDiff), это кажется невозможным, но я надеюсь, что кто-то докажет, что я ошибаюсь.

Спасибо!

1 Ответ

0 голосов
/ 15 мая 2020

Ошибка, которую вы получаете, обычно возникает, когда ваше приложение пытается получить доступ к чему-то, к чему у него нет привилегий.

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

Мой вопрос: есть ли способ исправить это ошибка без переключения на конечную точку веб-сайта и в процессе публикации всего моего контента S3 c?

Определенно! Но вам нужно точно указать ресурсы, к которым осуществляется доступ, когда вы получаете сообщение об ошибке! Я прошу вас предоставить дополнительную информацию об этом.

Наконец, если вы переключитесь на конечные точки веб-сайта, вы не сможете обслуживать частный контент S3. Вам придется все это опубликовать c. Подробнее об этом можно узнать здесь: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html#WebsiteRestEndpointDiff

...