我在同一项目中有两个应用程序:
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);
对此将有任何帮助。