提问人:exception_thrown 提问时间:11/10/2023 更新时间:11/10/2023 访问量:28
Lambda Edge 返回 html 页面而不是 json
Lambda Edge returns html page instead of json
问:
我正在使用 AWS cloudfront 分配并配置 lambda 边缘函数以将请求代理到我的非基于边缘的 lambda。
当控制台将请求记录到第二个 lanbda 时,当从 cloudfront 网站触发时,我看到请求被正确发送。尽管请求不是仅从第二个 lambda 请求返回响应正文,但似乎 lambda 边缘返回未找到页面的 html,因为它似乎试图查找路由的 html 页面,并且在第二个 lambda 给出响应时不返回并结束执行。
我习惯于与 Cloudflare 工作人员合作,这是代理请求并仅返回响应对象时的行为。
此 lambda 是使用 Viewer Request 配置的(也尝试过 origin request)。
export const handler = async (event) => {
const request = event.Records[0].cf.request;
const requestURI = request.uri;
if (requestURI == "/test") {
const resp = await fetch("example.com"{
headers: {
origin:"2ndlambdaurl.example.com"
},
});
const respBody = await resp.json();
return {
status: '200',
statusDescription: 'OK'
headers: {
'content-type':[{
key:'Content-Type',
value:'application/json'
}],
}
}
return request;
}
我在这里缺少什么。
答: 暂无答案
评论