无法在需要基本身份验证的页面上使用AWS S3对象

时间:2019-03-06 17:32:09

标签: amazon-web-services amazon-s3

我试图在需要基本身份验证的页面上使用S3托管的字体。 S3使用400状态代码进行响应,并且没有响应正文。 如果将任何类型的Authorization标头与请求一起发送到页面,则似乎会发生这种情况。

enter image description here

此处提供了示例:https://seidat-demos.herokuapp.com/demo-pdf-font/index.html(包括Authorization标头,例如Basic dXNlcjpwYXNz)。

桶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>

我知道直接使用Basic Auth标头向S3对象发出GET请求将导致400错误,但在这里似乎并非如此。

1 个答案:

答案 0 :(得分:0)

在S3 REST API端点上使用Authorization标头进行请求将导致错误请求错误,因为S3将其用于sigv4。 1.静态网站端点不会给出此错误,但不适用于https。 2.您是否尝试过以下方法:Does Amazon S3 support HTTP request with basic authentication