提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、下载openssl
下载地址https://slproweb.com/products/Win32OpenSSL.html(这里面有64位的)下载不是Light版本的,然后无脑一键安装就行。
- 配置环境变量
openssl的默认安装路径为C:\Program Files\OpenSSL-Win64\bin
。
我们只需要将其配置到环境变量即可,这里有配置环境变量的教程(可以看看这个博主的教程)。
- 验证环境变量
最后我们验证下是否配置成功
二、生成自签名证书
openssl req -nodes -new -x509 -keyout server.key -out server.cert
这个命令是用于生成自签名的 SSL/TLS 证书和私钥文件。它使用 openssl 工具来创建证书,这些证书可以用于加密通信
提示
在生产环境中,不建议使用自签名证书,最好使用由受信任的 CA 签发的证书。
如果在生产环境中使用,考虑去掉 -nodes选项,以保护私钥的安全性。
运行完成后在,在执行命令的目录:C:\Users\admin 路径下会生成一个RSA密钥对文件。如下图server.cert和server.key文件。
三、后端https启动
后端https启动必须要下载openssl并生成自签名证书
var https = require("https");
// 创建HTTPS服务器
const server = https.createServer(
{
key: fs.readFileSync("C:\\Users\\Admin\\server.key"),
cert: fs.readFileSync("C:\\Users\\Admin\\server.cert"),
},
HTTP
);
const config1 = { controlServerPort: 17002 };
const host = '0.0.0.0'
// 监听端口并启动服务器
server.listen(config1.controlServerPort, host, function () {
const { address, port } = server.address();
const host = address === '::' ? 'localhost' : address; // 处理IPv6地址
logger.app_log('Server', `Control Server start at: https://${host}:${port}`);
});
启动如下:
四、前端https启动
const fs = require("fs");
module.exports = {
devServer:{
https: true,
key: fs.readFileSync("C:\\Users\\Admin\\server.key"),
cert: fs.readFileSync("C:\\Users\\Admin\\server.cert"),
},
}
启动如下:
总结
以上就是前端和后端同时https启动