Почему я сталкиваюсь с ошибкой 403 и 502 при развертывании моего Angular Project на S3? - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь развернуть 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...