Angular 7 SSR в AWS Serverless и API извне, получая тайм-аут - PullRequest
0 голосов
/ 25 июня 2019

У меня есть два приложения для одного проекта:

Angular 7 SSR UI работает на PORT 4000

Express API с БД работает на PORT 5000

У меня естьсопоставлены через Nginx с разными папками / поддоменами, например:

devui.example.com TO: 4000

devapi.example.com TO: 5000

Я управляю APIвызов через environment.ts file

Все прекрасно работает, если я разверну оба приложения на своем сервере Linux.

Теперь я хочу развернуть приложение пользовательского интерфейса в лямбда-AWS, но хочу использовать APIс моего сервера Linux.Установка без сервера и успешное развертывание.Я вижу код в AWS и сгенерированную конечную точку.Но конечная точка всегда истекает.Я увеличил время ожидания до 30 секунд и память до 512 МБ.Пакет от serverless работает нормально, если я запускаю server.js в моем локальном компьютере.Я использую HTTPS, ngtoolkit для развертывания без сервера.Материал в пользовательском интерфейсе.

Не уверен, возможно ли это вообще или нет.

Вот используемый мной serverless.yml:

  apigwBinary:
    types:
      - '*/*'

functions:
  api:
    handler: lambda.universal
    events:
      - http: ANY {proxy+}
      - http: ANY /

lambda.js

const app = require('./dist/server');
const awsServerlessExpressMiddleware = require('aws-serverless-express/middleware');

const binaryMimeTypes = [
  'application/javascript',
  'application/json',
  'application/octet-stream',
  'application/xml',
  'image/jpeg',
  'image/png',
  'image/gif',
  'text/comma-separated-values',
  'text/css',
  'text/html',
  'text/javascript',
  'text/plain',
  'text/text',
  'text/xml',
  'image/x-icon',
  'image/svg+xml',
  'application/x-font-ttf'
];

const server = awsServerlessExpress.createServer(app, null, binaryMimeTypes);
module.exports.universal = (event, context) => awsServerlessExpress.proxy(server, event, context);

Любая помощь в этом будет оценена.

...