前期准备
已经备案好的域名
证书(腾讯云和阿里云都有免费的,随便哪个都行,我用的腾讯云的)
开始
先下载证书,选择Apache 服务器证书下载
下载下来后会有4个文件
.csr的没用不用管
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as fs from "fs";
import * as https from "https";
import * as express from 'express';
import { ExpressAdapter } from "@nestjs/platform-express";
const httpsOptions = {
ca: fs.readFileSync('root_bundle.crt文件地址'),
key: fs.readFileSync('.key文件地址'),
cert: fs.readFileSync('另一个.crt文件地址'),
};
async function bootstrap() {
const server = express();
const app = await NestFactory.create(AppModule, new ExpressAdapter(server));
app.enableCors();
await app.listen(8080);
https.createServer(httpsOptions, server).listen(443);
}
bootstrap();
踩的坑
- 俩个crt文件不要弄错了,ca是机构的证书,cert是你的域名的证书,在windows系统打开可以看到
- creat里面要多传个参数不然会访问不了443