[英]AWS gateway serverless {"message": "Internal server error"}
I create a AWS API Gateway Lambda.我创建了一个 AWS API Gateway Lambda。 After serverless deploy, it keeps return {"message": "Internal server error"} this error when I trying to get the endpoint.无服务器部署后,当我尝试获取端点时,它会不断返回 {"message": "Internal server error"} 这个错误。 I tried multiple solution that I found from the internet, but nothing helped.我尝试了从互联网上找到的多种解决方案,但没有任何帮助。 I am not sure if I am doing correct for handler.... I was stuck in since yesterday morning.我不确定我对处理程序的处理是否正确......我从昨天早上就被困住了。 Thank you.谢谢你。
serverless.ylm无服务器.ylm
service: back-end
provider:
name: aws
runtime: nodejs12.x
stage: dev
region: us-east-1
memorySize: 384
functions:
app:
handler: app/app.handler
events:
- http:
path: /
method: ANY
cors: true
- http:
path: /{proxy+}
method: ANY
cors: true
app.js应用程序.js
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
const db= require('./dbconfig.js');
const cors = require('cors');
const expressValidator = require('express-validator');
//routers
var indexRouter = require('./routes/index');
var mentorRouter = require('./routes/api/mentor');
var universityRouter = require("./routes/api/university");
var bookingsRouter = require("./routes/api/bookings");
var authRouter = require('./routes/api/auth');
var settingRouter = require('./routes/api/setting');
var paywallRouter = require('./routes/api/pay');
const serverless = require('serverless-http');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.static(path.join(__dirname, './public')));
app.use(logger('dev'));
app.use(express.urlencoded({ extended: false }));
app.use(express.json());
app.use(cookieParser());
app.use(expressValidator());
app.use(cors());
app.use('/', indexRouter);
app.use('/auth', authRouter);
app.use('/mentor', mentorRouter);
app.use('/setting',settingRouter);
app.use('/pay',paywallRouter);
app.use('/api/universities', universityRouter);
app.use('/api/bookings', bookingsRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
//module.exports = app;
module.exports.handler = serverless(app);
Make sure API Gateway has the right permissions to invoke the Lambda...确保 API Gateway 具有调用 Lambda 的正确权限...
https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-lambda-stage-variable-500/ https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-lambda-stage-variable-500/
If that doesn't resolve the issue, check CloudWatch for any error insights in the Lambda log groups.如果这不能解决问题,请检查 CloudWatch 以了解 Lambda 日志组中的任何错误见解。 Make sure CloudWatch Logs are enabled too..确保 CloudWatch Logs 也已启用..
https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-cloudwatch-logs/ https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-cloudwatch-logs/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.