[英]pass query params from cloudfront to api gateway
我創建了一個 lambda function ,前面有一個 API 網關和 Cloudfront 分布
在雲端行為中,我禁用了緩存
這是 lambda function:
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/中看到查詢字符串
rawQueryString is: '?name=john'
調用雲端分發我在 lambda 響應https://xxx.cloudfront.net/api?name=john 中看不到查詢字符串
rawQueryString is: ''
我嘗試使用“原始請求策略”
但現在當我打電話給https://xxx.cloudfront.net/api?name=john
我明白了
{
"message": "Forbidden"
}
您應該為您的緩存行為設置原始請求策略。 您可以嘗試使用 AWS 托管的 Managed-AllViewer策略或創建新策略以轉發查詢字符串:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.