说明下,手工获取Let's Encrypt证书属于比较蛋疼的做法,如果后续忘了更新......站点挂的证书会过期。所以正常来说应该自动获取、自动定时更新。
但如果因为某些原因,需要手工获取letsencrypt证书,可以参考下述步骤:
(以获取wildcard证书为例,场景为:因获取letsencrypt的wildcard证书需添加DNS的TXT记录,假如自动获取脚本不支持你的dns解析供应商的API——其实一般常用的都支持啦>_<,则需要手工获取)
1、Linux切换到root账号(推荐)
2、下载、安装acme,运行
curl https://get.acme.sh | sh
3、退出账号、重新登陆,使上一步安装脚本自动设置的bash别名生效
(安装脚本会自动设别名:acme.sh=~/.acme.sh/acme.sh)
4、申请wildcard证书,运行(把'*.sample.com'替换为'*.你的域名.com')
acme.sh --issue --dns -d '*.sample.com' --yes-I-know-dns-manual-mode-enough-go-ahead-please
5、按照输出结果的显示,在dns里添加的子域名和txt记录值,以使letsencrypt确认你是域名的所有者
6、再次运行acme,获取证书,运行
acme.sh --renew -d '*.sample.com' --yes-I-know-dns-manual-mode-enough-go-ahead-please
7、拷贝、合并取得的证书
(证书是nginx/apache用的格式,如果要在haproxy/ELB/CDN/WAF用的话,要自行合并/拷贝黏贴)
8、记得更新,不然站点证书过期.......
acme更多用法(如自动获取、更新证书)请参考:
https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E
https://github.com/Neilpang/acme.sh/wiki