为 Nest.js 应用程序创建 SSL 证书

问题描述 投票:0回答:1

我正在将一个简单的 hello world 应用程序部署到 AWS Fargate。当我访问公共IP时,会显示hello world消息,但连接不安全。为了保护此连接,我需要将 SSL 证书添加到我的 Nest.js 应用程序中。以下是我的 Nest.js 应用程序的

main.ts
文件:

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();`

我将其修改为以下内容吗:

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as fs from 'fs';
import * as https from 'https';

async function bootstrap() {
  const httpsOptions = {
    key: fs.readFileSync('path/to/private/key.pem'),
    cert: fs.readFileSync('path/to/certificate/cert.pem'),
  };

  const app = await NestFactory.create(AppModule, { httpsOptions });
  await app.listen(443);
}
bootstrap();
amazon-web-services ssl nestjs ssl-certificate aws-fargate
1个回答
0
投票

每次部署、自动扩展事件或容器故障恢复都会导致 IP 地址发生变化。通过IP地址直接访问应用程序并不是一个真正的长期解决方案。此外,您需要 SSL 证书的域名,而不仅仅是 IP 地址。您应该考虑在 ECS/Fargate 部署之前放置一个负载均衡器。一旦您拥有 AWS 负载均衡器并为其指定了域名,您就可以使用 AWS Certificate Manager 服务轻松生成免费的 SSL 证书。

© www.soinside.com 2019 - 2024. All rights reserved.