Я пытаюсь развернуть Angular-проект, который обращается к .NET Core Web API к S3.Я развернул свой веб-API в Lambda и могу поиграть с ним, когда я запускаю проект Angular локально.Однако, когда я развернул его на 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 ()
Как упоминалось ранее, я попытался запустить проект Angular локально,используя URL-адрес, сгенерированный при развертывании в Lambda.Я могу выполнить все API REST, и мой проект работает, как и ожидалось.Я столкнулся с подобными проблемами при простом развертывании моего проекта .NET Core в 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 Core, ни какой-либо реальный код HTML / Typescript, так как в настоящее время я не думаю, что они влияют на проблему.Однако, если они необходимы, я предоставлю некоторые выдержки.
Ожидаемый результат должен быть простой HTML-страницей, которая отображает простую форму ввода для студентов (с именем, фамилией и некоторыми другими деталями).Наряду с этим, есть список, содержащий всех студентов уже в базе данных.Нажав на них, вы заполните форму с данными конкретного учащегося.
Это именно то, что получается, когда я просто запускаю ng serve --open
.Ошибки возникают только при запуске npm run build:serverless:deploy