使用 serve 配合 openssl 或 mkcert 创建本地自签名可信任的证书 - 创建本地 TLS\SSL https 协议服务
serve
使用
pnpm install -g serve
# 当前目录启动静态文件服务
serve
# 指定目录启动
serve ./public
# 指定端口
serve -p 8080
# 在当前目录 build 文件启动服务
serve -s build
serve -s dist
启动 SSL\TLS 服务
--ssl-cert
:证书路径--ssl-key
:证书密钥路径
serve --ssl-cert cert.pem --ssl-key key.pem
# or
serve --ssl-cert ~/ssl/cert.pem --ssl-key ~/ssl/key.pem
创建本地 SSL 证书
openssl
# -nodes: No DES 加密
# -days 3650: 证书有效期(约10年)。
# -keyout key.pem: 生成的私钥文件的名称和位置。
# -out cert.pem: 生成的证书文件的名称和位置。
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
[{"url":"https://image.baidu.com/search/down?url=https://gzw.sinaimg.cn/mw2000/0085UwQ9gy1htixvwyudtj32eq0ze7b4.jpg","alt":""},{"url":"https://image.baidu.com/search/down?url=https://gzw.sinaimg.cn/mw2000/0085UwQ9gy1htixvy7oolj325m186qdu.jpg","alt":""}]
if (isSecureContext) {
console.log(window.crypto.randomUUID()); // xxxx-xxxx-xxxx-xxxx
} else {
console.log(window.crypto.randomUUID); // undefined
}
mkcert
安装
brew install mkcert
# if you use Firefox
brew install nss
choco install mkcert
安装 根证书
$ mkcert -install
Created a new local CA 💥
The local CA is now installed in the system trust store! ⚡️
The local CA is now installed in the Firefox trust store (requires browser restart)! 🦊
# 查看证书路径
$ mkcert -CAROOT
# ~/Library/Application Support/mkcert
[{"url":"https://image.baidu.com/search/down?url=https://gzw.sinaimg.cn/mw2000/0085UwQ9ly1htj17zgtaaj315c0pi121.jpg","alt":""},{"url":"https://image.baidu.com/search/down?url=https://gzw.sinaimg.cn/mw2000/0085UwQ9ly1htj0x9mcijj30sc0ogjx6.jpg","alt":""}]
创建 域名 或 IP 证书
mkcert 127.0.0.1 #创建IP证书
# or
mkcert local.ksh7.com #或创建域名证书
# 多个域名一起生成
mkcert example.com "*.example.com" example.test localhost 127.0.0.1
mkcert -cert-file cert.pem -key-file key.pem -validity 365 example.com
mkcert -cert-file cert.pem -key-file key.pem -validity 365 example.com
使用证书
serve --ssl-cert cert.pem --ssl-key key.pem
[{"url":"https://image.baidu.com/search/down?url=https://gzw.sinaimg.cn/mw2000/0085UwQ9gy1htixvy0x39j329i16ywpy.jpg","alt":""},{"url":"https://image.baidu.com/search/down?url=https://gzw.sinaimg.cn/mw2000/0085UwQ9ly1htj17zhunmj315o0pwgx2.jpg","alt":""}]
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 kshao-blog-前端知识记录!
评论