vite.config.js https 自签证书
// vite.config.js
import { defineConfig } from 'vite';
import { createCertificate } from 'vite-plugin-mkcert';
export default defineConfig({
server: {
https: true,
proxy: {
// 代理配置(如果需要的话)
},
// 自定义服务器端口
port: 3000,
// 自定义自签名证书
https: {
cert: createCertificate(),
key: createCertificate(),
// 如果需要信任该证书,可以在这里指定 CA 证书
// ca: fs.readFileSync('/path/to/ca.crt'),
},
},
});
请注意,createCertificate函数是假设的,实际上您需要一个生成证书的库或函数。在实际中,您可能会使用mkcert或其他工具来生成证书。
如果您正在使用vite-plugin-mkcert,确保您已经安装了该插件,并且在您的项目中正确配置了。
npm install vite-plugin-mkcert --save-dev
然后在vite.config.js中引入插件:
import mkcert from 'vite-plugin-mkcert';
export default {
plugins: [mkcert()],
// ... 其他配置
};
uniapp 配置文件需要注意
https 调试 需要注意 manifest.json devServer 节点得删除,相关配置在 vite.config.js 里面配
使用mkcert插件时,Vite会自动生成一个自签名的SSL证书,并在启动开发服务器时使用它。这样您就可以通过HTTPS访问您的开发服务器了。
更多功能参考
https://gitcode.com/gh_mirrors/wi/windows/overview?utm_source=highlight_word_gitcode&word=windows
1.1 下载mkcert
mkcert 工具
https://gitee.com/stonedst/mkcert
然后到mkcert目录会看到可执行文件
运行
mkcert -install
现在就可以给域名或者ip创建证书了
mkcert 127.0.0.1
mkcert *.abc.com
参考
https://blog.csdn.net/djfjkj52/article/details/135099163
另一种
openssl自签证书 linux
mkdir -p ~/ssl
cd ~/ssl
openssl req -nodes -new -x509 -keyout server.key -out server.crt -days 365
window 需要去官网下载
openssl
https://slproweb.com/download/Win64OpenSSL_Light-3_4_0.exe
切换到OpenSSL的安装目录
cd C:\OpenSSL-Win64\bin
生成私钥
openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048
生成自签名证书
openssl req -new -x509 -days 365 -key private.pem -out certificate.crt -subj "/C=US/ST=State/L=City/O=Organization/OU=Department/CN=localhost"
uniapp 服务如果是8080 需要在nginx 做个代理443端口转发
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /path/to/your/ssl/server.crt;
ssl_certificate_key /path/to/your/ssl/server.key;
location / {
proxy_pass http://127.0.0.1:8080; # 假设你的uniapp开发服务器运行在这个地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}