我正在尝试生成服务器 SSL 证书。DNS 由 Cloudflare 维护。
这lego
的帮助建议使用以下语法
[email protected] \
CLOUDFLARE_API_KEY=ABCD1234 \
sudo lego --dns cloudflare --domains about.mycompany.com \
--email [email protected] --path="/etc/lego" run
但是该命令返回以下错误:
2018/04/19 02:19:45 CloudFlare credentials missing
事实证明,环境变量没有被 lego 捕获。
如果我把上面的内容(减去sudo
)放在一个 shell 脚本文件中(比如getcert.sh
)
[email protected] \
CLOUDFLARE_API_KEY=ABCD1234 \
lego --dns cloudflare --domains about.mycompany.com \
--email [email protected] --path="/etc/lego" run
然后运行sudo bash ./getcert.sh
,missing
错误消失。
然而它被另一个错误取代了:
Error presenting token: Zone mycompany.com. not found in CloudFlare for domain _acme-challenge.about.mycompany.com.
如何修复此问题?
答案1
您是否已在 Cloudflare 上获取您域名的 API 密钥?
如果你不知道怎么做,下面是图形教程:
步骤 1:登录后,在 Cloudflare 主页上单击“获取 API 密钥”
第 2 步:单击“查看”以查看您的 API 密钥(全局或域特定)
步骤 3:在命令中填写凭证
[email protected]
CLOUDFLARE_API_KEY=yourcloudfalreAPIKey
lego --dns cloudflare --domains yourdomain.com \
--email [email protected] --path="/etc/lego" run