Node.js Lambda(节点)Express REST API与AWS API网关502网关错误

Node.js Lambda(节点)Express REST API与AWS API网关502网关错误,node.js,amazon-web-services,aws-lambda,aws-api-gateway,Node.js,Amazon Web Services,Aws Lambda,Aws Api Gateway,我有一个react front应用程序,它调用基于lambda和express的rest api。集成通过AWS API网关完成。即使使用cors模块,我也无法实现我想要的 代码如下: const express=require('express'); 常量app=express(); require('dotenv').config(); const youTube=require('./lib/youTube'); const ffmpeg=require('fluent-ffmpeg');

我有一个react front应用程序,它调用基于lambda和express的rest api。集成通过AWS API网关完成。即使使用cors模块,我也无法实现我想要的

代码如下:

const express=require('express');
常量app=express();
require('dotenv').config();
const youTube=require('./lib/youTube');
const ffmpeg=require('fluent-ffmpeg');
常量记录器=需要('./lib/Logger');
const cors=需要(“cors”);
const serverLogger=新的记录器(文件名);
//初始化中间件
use(express.json({extended:true}));
app.use(cors({origin:true}));
应用程序获取(“/”,(请求,请求)=>{
res.json({msg:'欢迎使用YouTube下载程序API…');
});
app.post('/api/youtube/download',异步(req,res)=>{
const body=请求body;
const{url}=body;
res.header('Content-disposition','attachment;filename=video.mp3');
res.header('Access-Control-Allow-Headers','Content-Type');
res.header('Access-Control-Allow-Methods','OPTIONS,POST,GET');
res.header('Access-Control-Allow-Origin','*');
const youTubeStream=wait youTube.getStream(url);
ffmpeg(youTubeStream)
.format('mp3')
.音频比特率('192k')
.on('end',函数(){
log('文件已成功转换');
物质状态(200);
})
.on('error',函数(err){
log('发生错误:'+err.message);
json({error:err.message});
})
//保存到流
.pipe(res,{end:true});
});
app.post('/api/youtube/info',异步(req,res)=>{
const body=请求body;
控制台日志(主体);
const{url}=body;
const title=wait youTube.getInfo(url);
控制台日志(标题);
res.status(200).json({title:title});
});
module.exports=app;
我不断收到这样的信息:


CORS策略已阻止从源“…”在“…”提取的访问:请求的资源上不存在“访问控制允许源”标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源。

在第一节中,您将设置
res.header('Access-Control-Allow-Origin','*')
res.status(200)。好!!问:尽管您(显然是正确的)响应标题,您是否在这里得到了CORS错误?问:你看过Chrome开发者工具>网络(或同等工具)中的网络请求/响应吗?我看过开发者工具,我可以看到:内容长度:36内容类型:应用程序/json日期:Wed,2020年9月30日22:09:29 GMT状态:502 x-amz-apigw-id:TS1DMEUGFIFIFKLG=x-amzn-errortype:InternalServerErrorException x-amzn-requestid:4458cf7a-a908-4a3f-bdf4-167F06055C6B问题在于502错误,而非CORSSideshowbarker正确:HTTP 502才是真正的问题。不幸的是,他在所谓的“重复”中的回答并没有给你任何有用的故障排除建议。看这里:。这不算多,但我希望能有所帮助。@johnrotenstein-有什么建议可以帮助解决这个问题吗?问:你会考虑把你的投票添加到“重新打开”吗?在第一节中,你设置了“代码> RES.Head(‘访问控制允许-起源’,‘*’);<代码>和
res.status(200)。好!!问:尽管您(显然是正确的)响应标题,您是否在这里得到了CORS错误?问:你看过Chrome开发者工具>网络(或同等工具)中的网络请求/响应吗?我看过开发者工具,我可以看到:内容长度:36内容类型:应用程序/json日期:Wed,2020年9月30日22:09:29 GMT状态:502 x-amz-apigw-id:TS1DMEUGFIFIFKLG=x-amzn-errortype:InternalServerErrorException x-amzn-requestid:4458cf7a-a908-4a3f-bdf4-167F06055C6B问题在于502错误,而非CORSSideshowbarker正确:HTTP 502才是真正的问题。不幸的是,他在所谓的“重复”中的回答并没有给你任何有用的故障排除建议。看这里:。这不算多,但我希望能有所帮助。@johnrotenstein-有什么建议可以帮助解决这个问题吗?问:你会考虑增加你的投票权吗?