首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无服务器502错误网关

无服务器502错误网关
EN

Stack Overflow用户
提问于 2019-01-13 05:33:09
回答 2查看 5.2K关注 0票数 4

我能够按照文档创建一个简单的无服务器函数,但是当我添加http侦听器时,我在尝试访问端点时总是得到一个502 Bad Gateway

我如何调试它呢?

代码语言:javascript
复制
'use strict';

module.exports.hello = async (event, context) => {
  return {
    statusCode: 200,
    body: {
      message: 'Go Serverless v1.0! Your function executed successfully!',
      input: event,
    },
  };
};

serverless.yaml

代码语言:javascript
复制
service: playing-with-serverless # NOTE: update this with your service name

provider:
  name: aws
  runtime: nodejs8.10

functions:
  hello:
    handler: handler.hello
    events:
      - http:
          path: hello
          method: get

我已经部署了我的函数

代码语言:javascript
复制
 $ sls deploy
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Uploading CloudFormation file to S3...
Serverless: Uploading artifacts...
Serverless: Uploading service .zip file to S3 (423 B)...
Serverless: Validating template...
Serverless: Updating Stack...
Serverless: Checking Stack update progress...
..............
Serverless: Stack update finished...
Service Information
service: playing-with-serverless
stage: dev
region: us-east-1
stack: playing-with-serverless-dev
api keys:
  None
endpoints:
  GET - https://1r5mt9wa63.execute-api.us-east-1.amazonaws.com/dev/hello
functions:
  hello: playing-with-serverless-dev-hello
layers:
  None
Serverless: Removing old service artifacts from S3...

cURL

代码语言:javascript
复制
$ curl --request GET \
  --url https://1r5mt9wa63.execute-api.us-east-1.amazonaws.com/dev/hello
{"message": "Internal server error"}%```  
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-13 06:36:40

您需要在响应对象中对body进行字符串化:

代码语言:javascript
复制
return {
  statusCode: 200,
  body: JSON.stringify({
    message: 'Go Serverless v1.0! Your function executed successfully!',
    input: event
  })
};

具体地说是See docs Output Format of a Lambda Function for Proxy Integration

Set up an Integration Response in API Gateway

票数 8
EN

Stack Overflow用户

发布于 2021-02-01 11:30:19

您的服务器端代码中可能存在错误。

尝试在AWS控制台上测试您的请求。它会准确地指出Javascript代码中的错误(如果有错误)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54164066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档