Let's|Let's Encrypt泛域名SSL证书
文章图片
Let's Encrypt将免费服务提供给全世界,让昂贵的SSL变得触手可及,同时提升互联网整体的安全水平。自2015开始,Let's Encrypt便提供免费的单域名证书。很多主机服务商、CDN服务商、面板均可自动申请并续签。
2018年初,Let's Encrypt开始提供通配符证书,即一套证书可以用于所有子域名。当颁发给
i.iwyc.cn
时,所有一级子域名均可以使用该证书。大大的福利!下面是申请Let's Encrypt泛域名SSL证书的教程:
一、安装acme.sh脚本 参考:acme.sh中文指南
打开终端,键入:
curl https://get.acme.sh | sh
如果提示curl命令不存在,则需要安装相关依赖。
二、验证域名 acme.sh 实现了 acme 协议支持的所有验证协议。一般有两种方式验证: http 和 dns 验证。
推荐使用DNS验证,并且配合域名解析商提供的 api 自动添加 txt 记录完成验证。这是最简单、便捷的方式。
- 无需指定IP即可验证域名
- 全自动化申请并续签
- 随意使用CDN或跳转,只要不更改域名解析商,都不影响续签
其它方式请参考官方指南。
可以在官方文档-API用法中查询acme.sh支持的解析商以及对应的指令。
【Let's|Let's Encrypt泛域名SSL证书】以DNSPOD(腾讯云)为例,在用户中心-安全设置中开启API,并将ID和Token记下来。
文章图片
2.然后将API输入终端:
export DP_Id="替换为数字ID"
export DP_Key="替换为Token值"
注意,这是DNSPOD的指令,如果是其它解析商,请参照官方文档-API用法。
三、生成证书 在终端中键入:
acme.sh --issue --dns dns_dp -d iwyc.cn -d *.iwyc.cn
请替换成自己的域名,*是通配符,支持任何一级子域名。
终端中会输出证书存放的位置,可以按图索骥找到证书文件。
文章图片
可以看到证书包中有很多文件,其中域名.key是秘钥;a.cer存储的是CA证书,域名.cer是域名证书,fullchain.cer是前两者的拼接;域名.csr是证书签名请求。
四、使用证书 在宝塔面板中,只需要将证书文件拷贝到“其他证书”中,保存即可。
文章图片
基于Nginx的服务器,左侧拷贝的内容是域名.key,右侧拷贝的是fullchain.cer。基于Apache请自行搜索。
如果没有使用面板,可以在终端中使用
--installcert
命令进行安装。五、检验证书 访问myssl.com,检验证书是否安装正确。
文章图片
其它 1.自动续签 安装acme.sh时,会自动创建 cronjob,每天 0:00 点自动检测所有的证书,如果快过期了, 则会自动更新证书。
2.更新acme.sh 目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.
升级 acme.sh 到最新版 :
acme.sh --upgrade
如果你不想手动升级, 可以开启自动升级:
acme.sh --upgrade --auto-upgrade
关闭自动更新:
acme.sh --upgrade --auto-upgrade 0
推荐阅读
- (二)ES6第一节变量(let|(二)ES6第一节变量(let,const)
- ts泛型使用举例
- Kotlin泛型的高级特性(六)
- javaweb|基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
- laravel框架泛解
- Swift5.0|Swift5.0 UITexview的基本使用
- 新闻出版广电总局:2018年将广泛开展各类全民阅读活动
- Swift7|Swift7 - 循环、函数
- Servlet原理|Servlet原理 二(Web应用与创建Servlet实例)
- String个人总结