vite启用https

303 阅读2分钟

前置条件

下载: Releases · FiloSottile/mkcert

根据你的系统类型选择相应版本

image.png

将CA证书加入本地可信CA

mkcert-v1.4.4-windows-amd64.exe -install

成功之后,会有如下提示

image.png

查看根证书位置

mkcert-v1.4.4-windows-amd64.exe -CAROOT

image.png

image.png

管理win电脑中的证书

certmgr.msc

image.png

image.png

生成自签证书

直接跟多个要签发的域名或 ip 就行了,比如签发一个仅本机访问的证书(可以通过127.0.0.1localhost,以及 ipv6 地址::1访问):

mkcert-v1.4.4-windows-amd64.exe localhost 127.0.0.1 ::1 192.168.10.110 dev.pzy.cn

image.png

会在当前目录生成: localhost+3.pem, localhost+3-key.pem 两个文件

在vite项目中创建keys文件夹,将上面的两个文件复制到keys文件夹

配置hosts文件配置域名

image.png

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

image.png

浏览器访问

image.png

image.png

其他电脑或手机访问,依然提示不安全

其他设备安装根证书

rootCA.pem,改名为rootCA.crt, 并发送给其他设备

windows

直接打开rootCA.crt,并将证书安装到受信任的根证书

image.png

image.png

image.png

image.png

image.png

安卓

直接在文件管理器安装rootCA.crt

macos

直接在文件管理器安装rootCA.crt,然后打开钥匙串-系统找到mkcert开头的证书,双击打开。设置为下图的模式

image.png

ios

ios要先安装ca证书,然后在“设置”——“通用”——“描述文件和设备管理”——验证刚才安装的ca证书。然后在“通用”——“关于本机”——“证书信任设置”信任刚才的ca证书

参考资料

【密码学】使用mkcert安装CA、自签名ssl证书,配置nginx的https 证书笔记-CSDN博客

mkcert的安装和使用,5分学会在本地开启localhost的https访问方式-CSDN博客

使用mkcert工具生成受信任的SSL证书,解决局域网本地https访问问题_mkcert局域网证书-CSDN博客