我正在尝试部署一个将.NET核心Web访问到S3的角度项目。我已经将我的Web部署到Lambda,并且能够在本地运行时使用它。但是,当我将它部署到S3时,我的页面将显示{"message": "Internal server error"}。控制台显示以下错误:
Failed to load resource: the server responded with a status of 403 ()Failed to load resource: the server responded with a status of 502 ()如前所述,我尝试在本地运行,使用部署到Lambda时生成的url。我能够执行所有REST,并且我的项目按预期工作。我在简单地将我的.NET核心项目部署到Lambda时遇到了类似的问题,但发现问题是我没有正确设置Lambda的权限。我希望这里的问题具有同样的性质,但我不知道从哪里开始。
我的serverless.yml文件如下所示:
# generated by @ng-toolkit/serverless
service: [service-name]
plugins:
- serverless-apigw-binary
provider:
name: aws
runtime: nodejs8.10
memorySize: 192
timeout: 10
stage: production
region: us-east-1
package:
exclude:
- src/**
- node_modules/**
- firebug-lite/**
- e2e/**
- coverage/**
- '!node_modules/aws-serverless-express/**'
- '!node_modules/binary-case/**'
- '!node_modules/type-is/**'
- '!node_modules/media-typer/**'
- '!node_modules/mime-types/**'
- '!node_modules/mime-db/**'
custom:
apigwBinary:
types:
- '*/*'
functions:
api:
handler: lambda.universal
events:
- http: ANY {proxy+}
- http: ANY /我的proxy.conf.json文件如下所示:
{
"/api/*": {
"target":"[Lambda URL]/dev/api/",
"secure":false,
"changeOrigin":true
}
}如果需要添加其他代码来诊断问题,请告诉我。我没有添加任何我的.NET核心代码或任何实际的HTML/类型成绩单代码,因为我目前并不认为这些会影响到当前的问题。不过,如果需要的话,我会提供一些摘录。
预期的输出应该是一个简单的HTML页面,它为学生显示一个简单的输入表单(包括名字、姓氏和其他一些细节)。除此之外,还有一个包含数据库中所有学生的列表。单击这些按钮将填充表单中该特定学生的详细信息。
这正是我简单地运行ng serve --open时产生的结果。这些错误仅在我运行npm run build:serverless:deploy时发生。
发布于 2019-10-24 16:35:59
您可能对附加到API网关中的URL的"stage“路径有问题。(即:/生产/)
标准建议是为API网关注册自定义域,但也可以尝试将项目索引修改为不同的路径。
有关更多信息,请参见本文(ctrl+f 403):https://www.twilio.com/blog/2017/09/serverless-deploy-nodejs-application-on-faas-without-pain.html
https://stackoverflow.com/questions/56565949
复制相似问题