类库大魔王
类库大魔王 多年C++、Go项目经验,长期从事跨平台(Windows/macOS/iOS/Android)应用架构设计与开发。

Let's Encrypt注意事项


我从几个月前开始用acme.sh来自动签发Let’s Encrypt的免费证书,一两个月后,发现它没有renew成功,手动renew发现每次都是报错:

1
Challenge error: {"type":"urn:acme:error:malformed","detail":"Unable to update challenge :: response does not complete challenge","status": 400}

在网上随便搜了搜并没有发现有用的信息,然后给acme.sh开了个issue,照作者的说法用了DNS模式手动签发的证书不会自动renew,要用DNS API自动模式重新签发一次:

1
PROVIDER=cloudflare LEXICON_CLOUDFLARE_USERNAME=[email protected] LEXICON_CLOUDFLARE_TOKEN=11223344556677889900aabbccddeeff acme.sh --issue -d sh.yii.li -d pi.yii.li --dns dns_lexicon

如此就可以了。


对于开了80端口的,有web root的情况下,比如国外的VPS,可以不用DNS模式,可以省掉DNS那里一些看起来乱七八糟的TXT记录。但是对于像家庭宽带环境中只开443端口的情况,必须要DNS才能验证域名所有权,国内的一些主机提供商比如阿里云劫持了80端口的入流量,如果域名没有备案就会被拦截,于是也只能用DNS模式签发证书。

感觉本文不错,不妨小额鼓励我一下!
如果你有Visa、MasterCard之类的国际银行卡,也可以考虑以下选项:
如果你看不到评论框,说明Disqus被墙了。