Windows统一开发环境的基础-Chocolatey

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


安装choco

管理员权限运行powershell

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

安装mkcert

choco install mkcert -y

将CA证书加入本地可信CA

将mkcert使用的根证书加入了本地可信CA中,以后由该CA签发的证书在本地都是可信的

mkcert -install

查看CA证书存放位置

mkcert -CAROOT

mkcert 生成自签证书

多个域名/IP用空格分隔

example.com是示例域名

localhost,127.0.0.1,::1是示例ip地址

mkcert example.com localhost 127.0.0.1 ::1

证书文件: localhost+1.pem

密钥文件:localhost+1-key.pem

自签名证书文件使用

vue项目,uniapp项目本地调试开启https,加载本地证书

vue2

文件:vue.config.js

const path = require('path')
const fs = require('fs')
module.exports = {
devServer: {
open: true,
https: {
cert: fs.readFileSync(path.join(__dirname, 'src/ssl/cert.crt')),
key: fs.readFileSync(path.join(__dirname, 'src/ssl/cert.key'))
}
}
}

vue3

文件:vite.config.js

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
const fs = require('fs')
const path = require('path')
export default defineConfig({
plugins: [vue()],
resolve: {
alias: {
'@': path.join(__dirname, 'src')
}
},
server: {
open: true,
https: {
// 主要是下面两行的配置文件,不要忘记引入 fs 和 path 两个对象
cert: fs.readFileSync(path.join(__dirname, 'src/ssl/cert.crt')),
key: fs.readFileSync(path.join(__dirname, 'src/ssl/cert.key'))
}
}
})

uniapp

将证书的密钥复制到此处,然后重启uniapp即可

// manifest.json
"h5" : {
"devServer" : {
"https" : {
"cert" : "-----BEGIN CERTIFICATE-----",
"key" : "-----BEGIN RSA PRIVATE KEY--"
},
"proxy" : {}
},
"async" : {
"delay" : "10000"
},
"router" : {
"base" : "./"
}
},