我创建了一个lambda函数,其中的API网关和Cloudfront分发位于前端
在cloudfront行为中,我禁用了缓存
这是lambda函数:
exports.handler = async (event) => {
const response = {
statusCode: 200,
body: JSON.stringify('rawQueryString is: ' + event.rawQueryString),
};
return response;
};
调用api网关我在lambda响应中看到查询字符串https://xxx.execute-api.us-east-1.amazonaws.com/api?name=john
rawQueryString is: '?name=john'
调用cloudfront分发我在lambda响应中看不到查询字符串https://xxx.cloudfront.net/api?name=john
rawQueryString is: ''
我尝试了“原产地请求政策”
但是现在当我打电话给https://xxx.cloudfront.net/api?name=john
我懂了
{
"message": "Forbidden"
}
您应该为缓存行为设置原始请求策略。您可以尝试使用AWS托管的Managed-AllViewer策略或创建新策略以转发查询字符串:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句