具体步骤参考 让TrueNAS自动申请Let’s Encrypt免费证书
如果不更新您的Linux软件仓库以获取最新的CA捆绑包和系统更新补丁,则在生成免费SSL时可能会遇到某些问题。完成更新后,可以执行以下步骤。
更新CA证书:
# ubuntu
sudo apt-get update
sudo apt-get install ca-certificates
# centOS
yum update ca-certificates
然后,可以从以下两种方式之一安装acme.sh:
curl https://get.acme.sh | sh -s email=my@example.com
或
wget -O - https://get.acme.sh | sh -s email=my@example.com
- 从GitHub安装:
curl https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh | sh -s -- --install-online -m my@example.com
或
wget -O - https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh | sh -s -- --install-online -m my@example.com
常见问题
遇到问题不要慌,通过 --debug 2
选项可以直接在终端上显示详细日志:
acme.sh --issue --debug 2 --dns dns_dp -d kikakika.com -d *.kikakika.com
域名 API 需要登录正确的解析平台开启
问题描述:获取证书一直失败,分析日志发现有“The login token ID is invalid”这么一句话:
...
[Tue May 22 14:43:48 CST 2018] Http already initialized.
[Tue May 22 14:43:48 CST 2018] _CURL='curl -L --silent --dump-header /root/.acme.sh/http.header --trace-ascii /tmp/tmp.LzYzrZRjvQ -g '
[Tue May 22 14:43:48 CST 2018] _ret='0'
[Tue May 22 14:43:48 CST 2018] response='{"status":{"code":"10002","message":"The login token ID is invalid","created_at":"2018-05-22 14:43:50"}}'
[Tue May 22 14:43:48 CST 2018] invalid domain
[Tue May 22 14:43:48 CST 2018] Error add txt for domain:_acme-challenge.kikakika.com
[Tue May 22 14:43:48 CST 2018] pid
[Tue May 22 14:43:48 CST 2018] No need to restore nginx, skip.
[Tue May 22 14:43:48 CST 2018] _clearupdns
[Tue May 22 14:43:48 CST 2018] skip dns.
[Tue May 22 14:43:48 CST 2018] _on_issue_err
[Tue May 22 14:43:48 CST 2018] Please check log file for more details: /root/.acme.sh/acme.sh.log
...
后来查找资料才发现,腾讯云和 DNSPod 是两个独立的平台。对于腾讯云上的域名,域名解析并不在腾讯云,仍然需要登录 DNSPod 开启 API: