ubuntu下手动部署Let's Encrypt
证书常用位置及权限设置,以及用脚本更新阿里云域名(ddns)。
letsencrpyt
创建相关文件夹并设置权限
不建议直接放到/etc/ssl
文件夹,因为letsencrypt三个月就要改一次,而此处是设计放置长期证书的。这里以apache为例,若是nginx则可在/etc/nginx
下新建。
1 | sudo mkdir /etc/apache2/ssl |
用acme.sh自动签发ssl证书
下载脚本。
1 | sudo su |
设置阿里云域名相关API。
1 | export Ali_Key="AccessKeyId" |
以DNS API模式通过验证。
1 | acme.sh --issue --dns dns_ali -d example.com |
安装证书。
1 | acme.sh --installcert -d example.com |
卸载
1 | acme.sh --uninstall |
动态域名ddns
如果公网IP定期改变,则需定时去域名管理处更新IP。
切换为root并下载脚本。
1 | sudo su |
按官方教程编辑ali_ddns.sh
。
启用并设置定时任务cron
。
1 | /etc/init.d/cron enable |
在编辑器中添加一行。
1 | */5 * * * * /bin/bash /root/ali_ddns.sh |
其中*
依次为每分,每小时,每天,每月,每星期几。此处设置为每5分钟检查一次IP,有改变则上报域名管理更新记录。
caddy
用caddy则比较轻松,会根据CaddyFile中的设置为每个域名自动签发和更新证书,这里仅记录下签发证书的位置。
1 | /root/.caddy/acme/acme-v02.api.letsencrypt.org/sites/example.com/example.com.crt |
参考资料
https://github.com/Neilpang/acme.sh/wiki/说明
https://github.com/Neilpang/acme.sh/wiki/Options-and-Params
https://github.com/h46incon/AliDDNSBash#使用方法
http://man7.org/linux/man-pages/man5/crontab.5.html
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 名实合为!
评论