前置条件
下载: Releases · FiloSottile/mkcert
根据你的系统类型选择相应版本
将CA证书加入本地可信CA
mkcert-v1.4.4-windows-amd64.exe -install
成功之后,会有如下提示
查看根证书位置
mkcert-v1.4.4-windows-amd64.exe -CAROOT
管理win电脑中的证书
certmgr.msc
生成自签证书
直接跟多个要签发的域名或 ip 就行了,比如签发一个仅本机访问的证书(可以通过127.0.0.1和localhost,以及 ipv6 地址::1访问):
mkcert-v1.4.4-windows-amd64.exe localhost 127.0.0.1 ::1 192.168.10.110 dev.pzy.cn
会在当前目录生成: localhost+3.pem, localhost+3-key.pem 两个文件
在vite项目中创建keys文件夹,将上面的两个文件复制到keys文件夹
配置hosts文件配置域名
vite配置https
import path, { resolve } from 'node:path'
import fs from 'node:fs'
// https://vite.dev/config/
export default defineConfig((env) => {
return {
// ... 省略配置
server: {
host: '0.0.0.0',
https: {
cert: fs.readFileSync(path.join(__dirname, 'keys/localhost+3.pem')),
key: fs.readFileSync(path.join(__dirname, 'keys/localhost+3-key.pem')),
}
},
}
})
启动vite
浏览器访问
其他电脑或手机访问,依然提示不安全
其他设备安装根证书
将rootCA.pem,改名为rootCA.crt, 并发送给其他设备
windows
直接打开rootCA.crt,并将证书安装到受信任的根证书
安卓
直接在文件管理器安装rootCA.crt
macos
直接在文件管理器安装rootCA.crt,然后打开钥匙串-系统找到mkcert开头的证书,双击打开。设置为下图的模式
ios
ios要先安装ca证书,然后在“设置”——“通用”——“描述文件和设备管理”——验证刚才安装的ca证书。然后在“通用”——“关于本机”——“证书信任设置”信任刚才的ca证书
参考资料
【密码学】使用mkcert安装CA、自签名ssl证书,配置nginx的https 证书笔记-CSDN博客