相关疑难解决方法(0)

S3 - Access-Control-Allow-Origin标头

有没有人设法添加Access-Control-Allow-Origin到响应标头?我需要的是这样的:

<img src="http://360assets.s3.amazonaws.com/tours/8b16734d-336c-48c7-95c4-3a93fa023a57/1_AU_COM_180212_Areitbahn_Hahnkoplift_Bergstation.tiles/l2_f_0101.jpg" />
Run Code Online (Sandbox Code Playgroud)

此get请求应包含在响应中,标题, Access-Control-Allow-Origin: *

我对存储桶的CORS设置如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)

正如您所料,没有Origin响应头.

amazon-s3 amazon-web-services http-headers cors

167
推荐指数
15
解决办法
16万
查看次数

正确的S3 + Cloudfront CORS配置?

我的应用程序将图像存储在S3上,然后通过Cloudfront代理它们.我很高兴使用新的S3 CORS支持,以便我可以使用HTML5 canvas方法(具有跨源策略),但似乎无法正确配置我的S3和Cloudfront.当我尝试将图像转换为canvas元素时,仍然遇到"Uncaught Error:SECURITY_ERR:DOM Exception 18".

这是我到目前为止所拥有的:

S3

<CORSConfiguration>
  <CORSRule>
    <AllowedOrigin>MY_WEBSITE_URL</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
  </CORSRule>
  <CORSRule>
    <AllowedOrigin>MY_CLOUDFRONT_URL</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
    </CORSRule>
  </CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)

CloudFront的

起源

Origin Protocol Policy: Match Viewer

HTTP Port: 80

HTTPS Port: 443
Run Code Online (Sandbox Code Playgroud)

行为

Origin: MY_WEBSITE_URL

Object Caching: Use Origin Cache Headers

Forward Cookies: None

Forward Query Strings: Yes
Run Code Online (Sandbox Code Playgroud)

这里有什么我想念的吗?

更新:刚尝试将标题更改为

<AllowedHeader>Content-*</AllowedHeader>
<AllowedHeader>Host</AllowedHeader>
Run Code Online (Sandbox Code Playgroud)

基于这个问题的Amazon S3 CORS(跨域资源共享)和Firefox跨域字体加载

仍然没有去.

更新:更多信息请求

Request
URL:https://d1r5nr1emc2xy5.cloudfront.net/uploaded/BAhbBlsHOgZmSSImMjAxMi8wOS8xMC8xOC81NC80Mi85NC9ncmFzczMuanBnBjoGRVQ/32c0cee8
Request Method:GET
Status Code:200 OK (from cache)
Run Code Online (Sandbox Code Playgroud)

UPDATE

我想也许我的请求不正确,所以我尝试启用CORS

img.crossOrigin = '';
Run Code Online (Sandbox Code Playgroud)

但然后图像没有加载,我得到错误:跨源资源共享策略拒绝跨源图像加载.

amazon-s3 cors amazon-cloudfront

59
推荐指数
8
解决办法
4万
查看次数

Amazon CloudFront延迟

我正在尝试使用AWS S3和CloudFront来处理我正在开发的Web应用程序.

在应用程序中,我让用户将文件上传到S3存储桶(使用AWS SDK)并通过CloudFront CDN使其可用,但问题是即使在S3存储桶中上传和准备文件大约需要一分钟或2在CloudFront CDN网址中可用,这是正常的吗?

amazon-s3 amazon-web-services amazon-cloudfront

29
推荐指数
1
解决办法
7308
查看次数

在 S3/CF 上托管 Javascript 的推荐 CORS 配置是什么?

我已经看到了类似问题的答案,但我想知道在 2017 年,如果我想限制对 *.domain.tld 的合法访问,那么为 S3/CF 配置 CORS 的最佳方法是什么。Javascript 正在从 CF 加载并使用对 api.domain.tld 的 Ajax 请求呈现 Web 应用程序。

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*.domain.tld</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedMethod>HEAD</AllowedMethod>
        <AllowedMethod>OPTIONS</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)

还有什么我可以添加来改进 CORS 设置的吗?

amazon-s3 cors amazon-cloudfront

3
推荐指数
1
解决办法
2230
查看次数