创建了返回 3 个 HTTP 标头的 AWS Lambda 函数 (NodeJS):aaa、Access-Control-Allow-Origin 和 bbb:
exports.handler = async (event) => {
const response = {
statusCode: 200,
headers: { "aaa":"aaa", "Access-Control-Allow-Origin":"*", "bbb":"bbb" },
body: JSON.stringify('Hello from Lambda!'),
};
return response;
};
该功能集成到 HTTP API(不是 REST API)中。在 HTTP API 网关配置的“配置 CORS”部分中,HTTP 标头“Access-Control-Allow-Origin”设置为“*”。请看截图:
网关配置
命令“curl -ihttps://xxxxxxxxxx.execute-api.eu-central-1.amazonaws.com” 证明 HTTP 标头 Access-Control-Allow-Origin 被显式删除,因为只返回 HTTP 标头 aaa 和 bbb:
HTTP/2 200
date: Tue, 14 Apr 2020 11:01:58 GMT
content-type: text/plain; charset=utf-8
content-length: 20
aaa: aaa
bbb: bbb
apigw-requestid: K-S2EjVWliAEJKw=
即使“配置 CORS”完成后,到底为什么这个标头仍然不存在?
(为了找到解决方案,我现在在谷歌上搜索了两天多,这让我发疯)