Javascript AWS S3 js SDK:CORS策略已阻止从源站访问的XMLHttpRequest
我试图在我的ASP.NET Core 3 web应用程序中使用AWS js SDK来访问客户端上的s3 bucket,但它不起作用Javascript AWS S3 js SDK:CORS策略已阻止从源站访问的XMLHttpRequest,javascript,amazon-web-services,amazon-s3,Javascript,Amazon Web Services,Amazon S3,我试图在我的ASP.NET Core 3 web应用程序中使用AWS js SDK来访问客户端上的s3 bucket,但它不起作用 我已经创建了一个bucket,并在其中添加了以下CORS配置: <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedO
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<ExposeHeader>ETag</ExposeHeader>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
*
头
得到
放
邮递
删除
埃塔格
*
<script src="/lib/aws/aws-sdk-2.592.0.js"></script>
<script language="javascript">
$(function() {
AWS.config.update({
region: 'eu-west-2',
credentials: new AWS.Credentials('<key>', '<secret>')
});
var s3 = new AWS.S3({
apiVersion: '2006-03-01',
params: { Bucket: '<bucket>' }
});
s3.listObjectsV2(function(err, data) {
if (err) console.log(err, err.stack);
else {
data.Contents.forEach(function(element) {
var row = "<tr>" +
"<td>" + element.Key + "</td>" +
"<td>" + element.LastModified + "</td>" +
"<td>" + element.Etag + "</td>" +
"<td>" + element.Size + "</td>" +
"<td>" + element.StorageClass + "</td>" +
"</tr>"
$('#objects-list-table tbody').append(row);
});
}
});
});
</script>
$(函数(){
AWS.config.update({
地区:“欧盟-西部-2”,
凭据:新的AWS.credentials(“”,“”)
});
var s3=新的AWS.s3({
apiVersion:‘2006-03-01’,
参数:{Bucket:'}
});
s3.listObjectsV2(函数(错误、数据){
if(err)console.log(err,err.stack);
否则{
data.Contents.forEach(函数(元素){
var row=”“+
“”+元素。键+“”+
“”+element.LastModified+“”+
“+element.Etag+”+
“”+元素。大小+“”+
“”+element.StorageClass+“”+
""
$(“#对象列表表tbody”).append(行);
});
}
});
});
Access to XMLHttpRequest at 'https://<bucket>.s3.eu-west-2.amazonaws.com/?list-type=2' from origin 'https://localhost:5001' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Access to XMLHttpRequest at 'https://<bucket>.s3.amazonaws.com/?max-keys=0' from origin 'https://localhost:5001' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
访问位于的XMLHttpRequest'https://.s3.eu-west-2.amazonaws.com/?list-类型=2“从原点开始”https://localhost:5001'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在'access control Allow Origin'标头。
访问位于“”的XMLHttpRequesthttps://.s3.amazonaws.com/?max-键=0'从原点'https://localhost:5001'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:飞行前请求不允许重定向。
我的配置有什么问题?如何使其工作?刚刚用HTTP工具包欺骗了所有HTTP请求,发现该区域不正确。 如果有人有相同的问题,并且CORS配置似乎正确,请检查该区域
在我的例子中,法兰克福服务器不是eu-west-2,而是eu-central-1刚刚用HTTP工具包欺骗了所有HTTP请求,并发现该区域不正确。 如果有人有相同的问题,并且CORS配置似乎正确,请检查该区域 在我的例子中,法兰克福服务器不是eu-west-2,而是eu-central-1