Как устранить ошибку «Отсутствует заголовок« Access-Control-Allow-Origin »на запрашиваемом ресурсе»? - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть два ведра S3.один имеет данные изображения и PDF (через CloudFront), а второй статически размещается на s3.когда я вызываю изображение с моего URL, тогда оно было загружено, но когда я вызываю pdf, оно показывает мне следующую ошибку: ->

"Доступ к извлечению по 'pdf ссылке' из источника 'url' имеетбыл заблокирован политикой CORS: на запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Если непрозрачный ответ удовлетворяет ваши потребности, установите режим запроса «no-cors», чтобы получить ресурс с отключенным CORS ».

Для ее решения я настраиваю политику S3 CORS.

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>PUT</AllowedMethod>
   <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

И я также настраиваю облачный фронт с белыми списками «access-control-request-headers», «access-control-request-method "," origin "эти ошибки и выберите GET, PUT, OPTIONS.

Подскажите, как я могу решить эту ошибку?

1 Ответ

0 голосов
/ 27 сентября 2019

Наконец-то я преодолел эту проблему.Основной проблемой было перенаправление протокола с «HTTP на HTTPS».когда я отправляю запрос из HTTP, CloudFront перенаправляет его по HTTPS.При этом перенаправлении мое изображение загружалось, но pdf не было, во время перенаправления происходило сбойЗатем я изменяю протокол управления Viewer моего CloudFront на HTTPs Only, и теперь он работает.Вы также можете установить его на HTTP и HTTPS.

...