完成 centos7 完全自动化的生成 letsencrypt 通配符证书,整个过程花了我差不多一周的时间,其中有 6 天半的时间都是在搜集各种资料,当资料找齐之后,很快就完成了证书生成。
写下这篇文章希望能为你节省 6 天半的时间。
之所有能够实现自动化的 ssl 通配符证书要得益于两次更新
1.2018 年 3 月 letsencrypt 开始支持通配符证书
2.certbo 支持以 hook 的方式通过操作 DNS 服务商的 API 进行域名所有权的验证。
我们这次要用到两个工具
1.certbot
2. 支持阿里云 DNS 的 hook
操作过程
1. 安装 certbo
yum install certbot
2. 获取 dns 验证插件
git clone https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au
cd certbot-letencrypt-wildcardcertificates-alydns-au
chmod 0777 au.sh
3. 在阿里云后台获取操作 DNS 服务的 API key 和密钥然后配置到 au.sh 文件里面的 ALY_KEY 和 ALY_TOKEN
4. 执行下面的操作就可以生成你的通配符证书了
./certbot-auto certonly -d *.example.com --manual \
--preferred-challenges dns \
--manual-auth-hook "/ 脚本目录 /au.sh php aly add" \
--manual-cleanup-hook "/ 脚本目录 /au.sh php aly clean"
5. 你可以通过 Mozilla 的 ssl 配置生成网站生成你的最佳配置
6. 因为是通配符证书,所以你可能在很多虚拟主机上都会用到,那么你可以把 ssl 部分的配置写在一个单独文件里面,然后在其他需要用到的低脂肪直接 include
7. 你可以通过这个网站来查看你的域名证书等级。