[想知道是否有人对我在aws上遇到的问题有一些了解,在我正在工作的这个网站上,我的一些http请求被cors阻止,称不存在允许访问控制的原始报头。我在aws的cors配置页面上进行了cors配置,并且在node.js中已经使用了cors中间件。我的大多数http请求都在处理中,但即使它们使用相同的功能发出请求,我也无法弄清楚为什么有些请求没有。我什至尝试使用cors插件进行测试,但该插件似乎仍无法在端点上正常工作。遇到问题的端点是发帖请求,但我很沮丧,因为其他发帖请求正在处理。
这些端点似乎可以在apache和我的本地主机上运行,所以我不确定它是否对aws特殊?
这是我的配置
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
请确保您在后端(node.js)中的响应正在标头中返回它,例如:
var AWS = require('aws-sdk');
var docClient = new AWS.DynamoDB.DocumentClient({ region: 'us-east-2' });
exports.handler = function (event, context, callback) {
let params = {
TableName: 'App-Group',
Limit: 100
};
docClient.scan(params, function (err, data) {
if (err) {
callback(err, null);
}
else {
const response = {
statusCode: 200, 'headers': {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET,OPTIONS',
'Access-Control-Allow-Headers': 'x-api-key,Authorization'
},
body: JSON.stringify(data)
};
callback(null, response);
}
});
};