Let’s Encrypt由互联网安全研究小组(缩写ISRG)提供服务。主要赞助商包括电子前哨基金会、Mozilla基金会、Akamai以及思科。
环境: CentOS 7
下面介绍通过DNS TXT记录认证方式申请证书 , 我们假设给 www.example.com 这个域名申请证书
首先我们到 https://certbot.eff.org 安装通过网站指引安装certbot工具
1.执行命令 (在CentOS上)
#直接申请SSL证书 , 不需要部署web站点服务
certbot --manual --preferred-challenges dns certonly
2.按照命令行提示输入需要申请证书的域名(如: www.example.com) (在CentOS上)
3.按照命令行提示在DNS (如:godaddy等域名服务商) 中添加对应的TXT记录(如下图所示) (在CentOS上)
当然,其他的域名商操作也一样(如:阿里云/腾讯云/Cloudflare等)
保存后 , 等待一分钟左右 , 主要是等待DNS更新
接下来我们使用以下命令查询TXT是否已经生效(不同地区或DNS服务器各有差异)
#在Windows中使用nslookup命令 nslookup -q=TXT www.example.com
4.接下来按命令行提示操作(按任意键继续) (在CentOS上)
5.如无错误 , 即可顺利获得一个有效期为3个月(180天)的https证书
按照提示信息里说明的证书存放路径 , 可以看到以下几个证书文件
一般是位于 /etc/letsencrypt/live/www.example.com 目录
cert.pem chain.pem fullchain.pem #一般用这个 privkey.pem #一般用这个
letsencrypt 有什么限制
标准限制
- 同一个顶级域名下的二级域名,一周做多申请 20 个
- 一个域名一周最多申请 5 次
- 1 小时最多允许失败 5 次
- 请求频率需要小于 20 次/s
- 一个 ip 3 小时内最多创建 10 个账户
- 一个账户最多同时存在 300 个 pending 的审核
测试模式限制
在 certbot 命令后加上 --staging
参数,限制更松一些,但不是正式证书
- 同一个顶级域名下的二级域名,一周做多申请 30000 个
- 一个域名一周最多申请 30000 次
- 1 小时最多允许失败 60 次
- 一个 ip 3小时内最多创建 50 个账户