为大家介绍一下使用Let's Encrypt 申请免费通配符SSL证书的方法,有需要的小伙伴可以参考一下:
1、Let’s Encrypt是什么?
Let's Encrypt是国外一个公共的免费SSL项目,由Linux基金会托管。它的来头不小,由 Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,目的就是向网站自动签发和管理免费证书。以便加速互联网由HTTP过渡到HTTPS,目前Facebook等大公司开始加入赞助行列。
2、什么是通配符证书:
域名通配符证书类似DNS解析的泛域名概念,通配符证书就是证书中可以包含一个通配符。主域名签发的通配符证书可以在所有子域名中使用,比如 .itbiancheng.com、m.itbiancheng.com。
3、下载客户端:
cd /home wget https://dl.eff.org/certbot-auto
4、设置执行权限:
chmod a+x certbot-auto
5、申请证书:
./certbot-auto certonly -d "itbiancheng.com" -d "*.itbiancheng.com" --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
可能会因为系统Python的版本原因,或者未安装Python-pip。报依赖的问题。根据提示安装对应的依赖即可。
执行到这里的时候,我们需要先去域名添加对应的DNS TXT记录之后,再去回车继续执行,会显示验证成功并生成了ssl证书文件
Waiting for verification... Cleaning up challenges Subscribe to the EFF mailing list (email: service@itbiancheng.com). IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/itbiancheng.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/itbiancheng.com/privkey.pem Your cert will expire on 2021-01-18. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
6、参数说明:
(1)、certbot相关参数:
certonly 表示插件,Certbot有很多插件。不同的插件都可以申请证书,用户可以根据需要自行选择。 -d 为哪些主机申请证书。如果是通配符,输入 *.xxx.com(根据实际情况替换为你自己的域名) --preferred-challenges dns-01 使用DNS方式校验域名所有权 --server Let's Encrypt ACME v2版本使用的服务器不同于v1版本,需要显示指定
(2)、校验域名的所有权的3种方式:
dns-01:给域名添加一个 DNS TXT 记录。 http-01:在域名对应的 Web 服务器下放置一个 HTTP well-known URL 资源文件。 tls-sni-01:在域名对应的 Web 服务器下放置一个 HTTPS well-known URL 资源文件。
7、注意事项:
(1)、申请通配符证书,只能使用 dns-01 的方式。
(2)、证书的有效期是90天
(3)、如果统配和根域名都要使用的话,生成的时候需要写成-d "itbiancheng.com" -d "*.itbiancheng.com" ,域名替换成自己的即可
(4)、到期之后,在执行一次上面的操作即可生成新的证书
(5)、证书延期,也可以参照官方文档配置自动延期:https://certbot.eff.org/docs/using.html#pre-and-post-validation-hooks