【发布时间】:2022-04-25 13:32:38
【问题描述】:
我在播放 s3 存储桶中的音频文件时遇到问题。我想知道我是否将跨源资源策略设置得不好。
这是我的 server.js 文件:
app.use(cors());
app.use(function(req, res, next) {
res.header("Cross-Origin-Resource-Policy", "cross-origin");
res.header("Cross-Origin-Embedder-Policy", "require-corp");
res.header("Cross-Origin-Opener-Policy", "same-origin");
next();
});
chrome 给我的错误是:
GET https://monkeys.s3.amazonaws.com/sounds/1/6.wav?AWSAccessKeyId={test}&Expires=1627949062&Signature=HkT2CyazqovtjPVpDNKCu9Nsyk8%3D&response-content-disposition=attachment net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep
manage:1 Uncaught (in promise) DOMException: Failed to load because no supported source was found.
我的存储桶在 cors 部分是这样设置的:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"https://telecurve.herokuapp.com/manage"
],
"ExposeHeaders": []
},
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"https://telecurve.herokuapp.com/"
],
"ExposeHeaders": []
},
{
"AllowedHeaders": [],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
我缺少什么吗?我已经在这几天了,似乎无法找出原因。如果您需要更多上下文,我有更多详细说明代码方面的帖子!急需帮助。
【问题讨论】:
标签: node.js amazon-web-services express amazon-s3 aws-lambda