当前位置: 首页 > news >正文

automkcert使用教程

我们在开发的时候往往需要https开启一些浏览器功能,比如摄像头、wss等,自己的云服务器申请证书一个是麻烦,一个是价格贵,这种情况下可以用自签名证书。但自签名证书下有不通用的特点,其他机器无法快速信任自己的网站,因此我在mkcert基础上增加了一些额外的自动化功能。

主要逻辑

在这里插入图片描述

下载

可以访问github的访问: https://github.com/LY1806620741/mkcert-autoconfig/releases/tag/0.0.1.pre
不可以的访问镜像
https://hub.yzuu.cf/LY1806620741/mkcert-autoconfig/releases/tag/0.0.1.pre

根据你系统的类型下载客户端,目前打包了windowsx64、macx64、linuxx64三个版本

安装

步骤一 生成自己的根证书

# 给执行权限
chmod +x automkcert-0.0.1.pre-linux-amd64
# 执行向导
./automkcert-0.0.1.pre-linux-amd64 auto

在这里插入图片描述
会在当前目录下生成一个携带跟证书的可执行文件
在这里插入图片描述
这个以root结尾的要好好保存,里面包含了生成的根证书的公私钥,这时候之前的二进制文件就没用了。

步骤二 使用根证书可执行程序给域名签名

使用新生成的根证书可执行程序xxx-root运行向导程序

./automkcert-0.0.1-root auto

在这里插入图片描述
按上下键选择 【签名新证书】
然后需要输入你拥有的域名
在这里插入图片描述
我只输了域名
在这里插入图片描述
然后回生成证书

在这里插入图片描述
*key是私钥,另一个是公钥
在这里插入图片描述

步骤三 使用证书部署https服务

进入你的域名的服务器,配置使用这两个证书开启ssl,提供https服务,这步可以百度,在这我只给最简单的nginx设置

dev@dev-PC:~/Desktop$ nginx -v
nginx version: nginx/1.14.2
dev@dev-PC:~/Desktop$ cat /etc/nginx/conf.d/ssl.conf 
server{listen 443 ssl;server_name jieshao.cn;ssl_certificate /home/dev/Desktop/test/jieshao.cn.pem;ssl_certificate_key /home/dev/Desktop/test/jieshao.cn-key.pem;
}
server {listen       80;listen [::]:80 ;server_name jieshao.cn;return 301 https://$host$request_uri;
}

配置之后jieshao.cn域名,http会强制跳转到https,https会报证书不安全,这是因为本地电脑没有信任签名这个证书的根证书

在这里插入图片描述

步骤四 信任根证书

再执行拥有根证书的二进制文件的向导,选择生成授信
在这里插入图片描述
在这里插入图片描述
将生成的dist目录部署到服务器上,我部署的位置是dist
在这里插入图片描述

然后访问域名下载对应的授信程序
在这里插入图片描述
并执行

chmod +x certClient_linux_x64
./certClient_linux_x64

在这里插入图片描述
选择安装根证书
在这里插入图片描述
这里有个小插曲,提示需要先安装libnss3-tools

sudo apt install libnss3-tools

然后再执行,就会提示根证书已安装,重启浏览器生效
在这里插入图片描述
大功搞成。

http://www.lryc.cn/news/268195.html

相关文章:

  • tekton 发布 kubernetes 应用
  • unity脚本API中OnCollisionEnter()、OnTriggerEnter()二者的区别
  • 2023年12月【考试战报】|ORACLE OCP 19C考试通过
  • 鸿蒙操作系统:从手机到物联网,打造全场景智能体验
  • [Ray Tracing: The Next Week] 笔记
  • 企业级实战项目:基于 pycaret 自动化预测公司是否破产
  • dl转置卷积
  • 详解结构体(包含结构体内存对齐,柔性数组,位段)【尊嘟很详细】
  • 我的NPI项目之Android系统升级 - 同平台多产品的OTA
  • pnpm包管理器
  • flutter websocket发送ping包?
  • 基于采样的自动驾驶规划算法 - PRM,RRT,RRT*,CL-RRT
  • CGAL的D维范围树和线段树
  • 005.HCIA 传输层
  • LLM之RAG实战(八)| 使用Neo4j和LlamaIndex实现多模态RAG
  • 【SpringCloud笔记】(10)消息总线之Bus
  • 超酷的爬虫可视化界面
  • 【kafka消息里会有乱序消费的情况吗?如果有,是怎么解决的?】
  • 【PID精讲12】基于MATLAB和Simulink的仿真教程
  • 手机无人直播:解放直播的新方式
  • ios 之 数据库、地理位置、应用内跳转、推送、制作静态库、CoreData
  • Django(三)
  • vscode括号颜色突然变成白色的了,怎么解决
  • 测试服务器带宽(ubuntu)
  • 【WPF】使用Behavior以及ValidationRule实现表单校验
  • ArcGIS渔网的多种用法
  • C++ 中使用 std::map 的一个示例
  • python虚拟环境及其在项目实践中的应用
  • 普中STM32-PZ6806L开发板(烧录方式)
  • 基于单片机设计的指纹锁(读取、录入、验证指纹)