Lambda Edge 返回 html 页面而不是 json

Lambda Edge returns html page instead of json

提问人:exception_thrown 提问时间:11/10/2023 更新时间:11/10/2023 访问量:28

问:

我正在使用 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;
 }

我在这里缺少什么。

节点.js 亚马逊网络服务 AWS-Lambda 亚马逊 - CloudFront AWS-Lambda-Edge

评论


答: 暂无答案