自签ssl 证书工具-mkcert
一、场景
随着SSL的越来越普及,目前大部分生产环境都已经使用SSL,SSL证书一般有如下方法获取:SSL服务商购买、免费SSL服务商通过HTTP验证/API验证、自签SSL证书。SSL服务商购买后一般需要域名邮箱或者域名持有人邮箱验证,而免费SSL服务商一般需要通过HTTP验证或API方式生成DNS记录进行验证。能不花钱的咱尽量不花,但是免费的SSL证书需要HTTP验证,在本地或者局域网内这个显然时无法进行,当然API方式是一个不错的方法,生成的SSL证书既是信任的还免费,但是不适应于所有情况。自签可以生成任意域名或IP的SSL证书,只不过是不信任的,需要自行将该CA加入信任。自签SSL一般需要使用openssl命令步骤比较繁琐,今天我们借助mkcert工具来一键生成SSL证书并且信任该CA。
二、安装使用
mkcert 是一个用于生成本地自签SSL证书的工具,基于Golang开发,可跨平台使用,不需要配置自动信任CA,支持单域名、多域名和IP。
Windows下安装mkcert
- 下载
下载链接:https://github.com/FiloSottile/mkcert/releases 或 https://dl.filippo.io/mkcert/latest?for=windows/amd64 下载时注意你自己机器架构类型,大部分情况下win系统为amd64,极少部分为arm64。
- 安装
键盘按Win键+R键,输入cmd 回车,找到下载的mkcert,将mkcert的文件拖入命令提示符的窗口中,并添加上 -install
参数,回车。
- 生成ssl证书
和前面安装mkcert的步骤一样,将 -install
参数更改为你要生成SSL证书的域名或IP。
- 证书结果
回车后就会在mkcert文件所在目录生成SSL证书,一个命令生成的这些域名或IP是在一张SSL证书里面。
生成的SSL证书文件名为:./example.com+2.pem
,key文件为:./example.com+2-key.pem
。
Linux下安装mkcert
- 下载
下载链接:https://github.com/FiloSottile/mkcert/releases 或 https://dl.filippo.io/mkcert/latest?for=linux/amd64 下载时注意你自己机器架构类型,大部分情况下linux系统为amd64,极少部分为arm64。
打开终端,输入如下命令下载mkcert:
wget "https://dl.filippo.io/mkcert/latest?for=linux/amd64" -O mkcert && chmod +x mkcert
- 安装
mkcert需要依赖certutil,所以安装前需要先安装依赖包
CentOS/RHEL/Fedora/Alma/RockyDebian/Ubuntu/Deepin
apt-get install -y libnss3-tools
./mkcert -install
生成SSL证书的方法和Windows系统上时一样的,将前面 -install 参数替换为要生成SSL证书的域名或者IP就可以。
./mkcert example.com 10.10.10.1 127.0.0.1 localhost
- 证书结果
生成的SSL证书,在当前mkcert文件所在的目录下,一个命令生成的这些域名或IP是在一张SSL证书里面。
生成的SSL证书在当前目录下,文件名为:example.com+2.pem
,key文件为:example.com+2-key.pem
。
ssl证书使用
接下来就是最简单的将SSL部署到Nginx、Apache等web服务器上了,如LNMP一键安装包的话直接 lnmp vhost add 或 lnmp ssl add 添加上就可以了
标签:自签,证书,生成,ssl,域名,mkcert,SSL From: https://www.cnblogs.com/DTCLOUD/p/17479227.html作者:苏和成