现在好多站点都会启用https了,因为七牛给的免费CDN一直都在用,但是免费的只支持http,所以我并没有全站都切https。但是有时候会部署一些其他的服务,如果每次都申请证书也很麻烦,因此就考虑用certbot来申请通配符证书。
还是用的Ubuntu 18.04的服务器,如果使用apt-get安装的certbot版本会太低,导致不能申请对应的通配符证书,因此需要使用pip3安装:
pip3 install certbot pip3 install certbot-apache pip3 install certbot-dns-standalone apt install libaugeas0 # 执行会依赖这个库,因此也需要安装下
安装完成后,执行以下的命令,来生成通配符证书:
certbot certonly --preferred-challenges dns --manual -d elkpi.com -d *.elkpi.com --server https://acme-v02.api.letsencrypt.org/directory
之后会提示需要配置DNS TXT,配置好之后,才按回车下一步,这样就可以完成对应的申请了。但是使用pip安装也有一个缺点,就是没有对应的systemd服务来执行重新申请证书的定期操作,因此可以自己加一下两个systemd服务:
certbot.timer
[Unit] Description=Twice daily renewal of Let's Encrypt's certificates [Timer] OnCalendar=0/12:00:00 RandomizedDelaySec=1h Persistent=true [Install] WantedBy=timers.target
certbot.service
[Unit] Description=Let's Encrypt renewal [Service] Type=oneshot ExecStart=/usr/local/bin/certbot renew --quiet --agree-tos ExecStartPost=/bin/systemctl reload apache2.service ExecStartPost=/bin/systemctl restart frps.service
ExecStartPost=/bin/systemctl reload apache2.service # 如果用来做Apache的证书,那么renew新证书,则reload Apache服务,如果是其他的一些服务,也可以自己修改对应的ExecStartPost,多个服务则可以多个ExecStartPost的实例即可(比如我上面还有用于frps的支持,因此也设置了下需要重启frps)。
转载请注明: 转载自elkPi.com
本文链接地址: 记录下certbot生成letsencrypt通配符证书