han*_*ome 3 amazon-web-services amazon-cloudfront
我创建了一个 lambda 函数,前面有一个 API 网关和 Cloudfront 分发
在云前端行为中我禁用了缓存
这是 lambda 函数:
exports.handler = async (event) => {
const response = {
statusCode: 200,
body: JSON.stringify('rawQueryString is: ' + event.rawQueryString),
};
return response;
};
Run Code Online (Sandbox Code Playgroud)
调用 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"
}
Run Code Online (Sandbox Code Playgroud)
您应该为您的缓存行为设置源请求策略。您可以尝试使用 AWS 托管的Managed-AllViewer策略或创建新策略来转发查询字符串:
| 归档时间: |
|
| 查看次数: |
3534 次 |
| 最近记录: |