Невозможно использовать объекты AWS S3 на странице, требующей базовой аутентификации - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь использовать размещенные на S3 шрифты на странице, требующей базовой аутентификации. S3 отвечает кодом состояния 400, а тело ответа отсутствует. Похоже, это происходит, если заголовок Authorization отправляется вместе с запросом на страницу.

enter image description here

Демонстрация доступна здесь: https://seidat -demos.herokuapp.com / demo-pdf-font / index.html (включает заголовок Authorization, например, Basic dXNlcjpwYXNz).

Настройки Bucket CORS:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>https://seidat-demos.herokuapp.com</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

Мне известно, что выполнение запросов GET к объектам S3 напрямую с заголовками Basic Auth приведет к ошибке 400, но здесь это не так.

1 Ответ

0 голосов
/ 06 марта 2019

Выполнение запроса с заголовком авторизации на конечной точке API SEST REST вызовет ошибку неверного запроса, поскольку S3 использует его для sigv4. 1. Конечная точка статического веб-сайта не выдаст эту ошибку, но она не работает по протоколу https. 2. Попробуйте ли вы это: Поддерживает ли Amazon S3 HTTP-запрос с базовой аутентификацией

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...