根据官方 ACME.SH 文档链接,颁发证书就像运行以下命令一样简单:
$ acme.sh --issue --alpn -d example.com
但是,我收到以下错误
Error, can not get domain token entry example.com for `tls-alpn-01`
The supported validation types are `http-01` `dns-01` , but you specified: `tls-alpn-01`
我试过从默认切换ZeroSSL.com
到BuyPass.com
,但这没有帮助。这些提供者似乎不允许tls-alpn-01
验证方法,但它可能与我遗漏的东西有关。
PS:抢先回答一些问题:
- 我有一个有效域,已替换为“example.com”
- 该站点在 443 端口上运行,但
port 80
被 ISP 阻止,因此tls-alpn-01
- 我正在停止 Nginx,然后检查
netstat
端口 443 是否未绑定到服务。 - 当我使用
--debug 2
参数运行脚本时,我得到以下_authorizations_map
变量值
_authorizations_map='example.com,{"identifier":{"type":"dns","value":"example.com"},"status":"pending","expires":"2021-08-18T22 :53:50Z","挑战":[{"type":"http-01","url":"https://acme.zerossl.com/v2/DV90/chall/wYehJ8kQjUDiDadBJ12qKw", "状态": "待定","token":"Sfga2N2KwV-2hg3wo1gYAoyFvqV87dRvG2sHw4I6ups"},{"type":"dns-01","url":"https://acme.zerossl.com/v2/DV90/chall/CkrMQdEJthf-TmWvllW -Bg”,“状态”:“待定”,“令牌”:“_AlgMGzIfSQs7673Su-njnpieba_zLpSYxiUdXDEFnz”}]}'