amazon-s3 - AWS S3 - 没有设置 CORS,但 Amplify GET 请求正在工作?
问题描述
我有一个没有 CORS 配置的 S3 存储桶(它是空的),但使用 AWS AmplifyStorage.get
我能够成功检索对象 URL。我期待一个 403 Forbidden 响应。
令人困惑的是,Storage.list
确实会产生 403 Forbidden 响应,正如我所料。
代码示例 1 - 未在 S3 存储桶权限中设置 CORS
const URL = await Storage.get('file.jpg', {
level: 'private',
contentType: 'image/jpeg',
expires: 5,
})
预期结果:403 错误,禁止。从源“source_url”访问“destination_url”处的 XMLHttpRequest 已被 CORS 策略阻止(因为默认情况下拒绝跨源请求,除非存在策略)
实际结果:无错误 -Amplify.get
返回允许访问 file.jpg 的有效 URL
代码示例 2 - S3 存储桶权限中未设置 CORS
Storage.list('/', { level: 'private' })
.then(result => {
// process response
})
.catch(err => console.log(err));
结果如预期:403 错误,禁止。从源“source_url”访问“destination_url”处的 XMLHttpRequest 已被 CORS 策略阻止
如果我在 S3 存储桶权限中设置 CORS,我可以使代码示例 2 工作。
我错过了什么?我希望 CORS 适用于Storage.get
请求。
解决方案
推荐阅读
- php - Microsoft Graph SDK for PHP - 尝试获取数据时出现 400 错误请求
- c# - 为 ComboBox 设置提示或水印或默认文本而不将其添加为项目
- excel - 从冒号前的excel中提取前两个单词
- postgresql - 在外连接中,普通过滤条件从何而来?
- redux - 还原。.map() 是否使减速器非纯功能?
- background - 数字显微照片 EELSspectra 中的 ROI 在命令“EELSSubtractPowerlawBackground()”后表现异常 - 错误?(GMS 2.3)
- node.js - 无法更新 npm?
- jquery - 如何使用 jquery 将项目移动到组之间的空列表?
- php - IIS Win Server 2012 上的 PHP 7.1 无法完全运行
- mysql - 重置自动增量主键 sql, mysql