外部的AWS Serverless和API中的Angular 7 SSR,超时

时间:2019-06-25 12:03:10

标签: angular amazon-web-services aws-lambda angular7 serverless-framework

我在同一项目中有两个应用程序:

Angular 7 SSR UI在PORT 4000上运行

带有数据库的Express API在PORT 5000上运行

我已经通过Nginx映射了不同的文件夹/子域,例如:

devui.example.com至:4000

devapi.example.com至:5000

我正在通过environment.ts文件控制API调用

如果我将这两个应用程序都部署在linux服务器上,那么一切都很好。

现在,我想在AWS lambda中部署UI应用程序,但想利用Linux服务器中的API。无服务器设置和部署成功。我可以看到AWS中的代码和生成的终端节点。但是端点总是超时。我将超时时间增加到30秒,并将内存增加到512MB。如果我在本地启动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);

对此将有任何帮助。

0 个答案:

没有答案