ViewerJS、S3 和 CORS - 从不同的 S3 存储桶/域加载资源

Posted

技术标签:

【中文标题】ViewerJS、S3 和 CORS - 从不同的 S3 存储桶/域加载资源【英文标题】:ViewerJS, S3 and CORS - load resource from different S3 bucket/domain 【发布时间】:2021-06-17 21:27:33 【问题描述】:

我有两个 S3 存储桶。

my-js-bucket 有 ViewerJS 库文件

my-file-bucket有我要查看的文件

我将以下内容添加到 my-file-bucket 的 CORS:

[
    
        "AllowedHeaders": [],
        "AllowedMethods": [
            "GET"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    
]

当我尝试加载页面时,例如:

https://my-js-bucket.s3.ca-central-1.amazonaws.com/ViewerJS/index.html#https://my-file-bucket.s3.ca-central-1.amazonaws.com/logo.png

我在控制台中收到 CORS 错误。

【问题讨论】:

【参考方案1】:

我所要做的就是将“HEAD”添加到 AllowedMethods。

[
    
        "AllowedHeaders": [],
        "AllowedMethods": [
            "GET",
            "HEAD"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    
]

【讨论】:

以上是关于ViewerJS、S3 和 CORS - 从不同的 S3 存储桶/域加载资源的主要内容,如果未能解决你的问题,请参考以下文章

从 S3 和 CloudFront 提供 Angular JS HTML 模板 - CORS 问题

使用 CORS 从 S3 中删除文件

由于 CORS,无法从 S3 存储桶中获取图像

Amazon S3 CORS(跨源资源共享)和Firefox跨域字体加载

CORS 问题从 s3 调用 ec2

带有预签名 URL 和 CORS 问题的 S3 上传