我最近从 dns-01 切换到 http-01 callenge 类型的letsencrypt,因为我计划将来签署我的dns区域,因此不再需要自动区域操作。自从我做出此更改后,我无法再更新我的一些区域(我假设这些区域是我最初通过 dns-challenge 签署的区域)。我的旧区域(从第一次使用开始 - 从一开始就使用 http)工作正常。
只是为了澄清问题,我正在使用lukas2511 的脱水客户端。我添加了一些调试输出来检查该脚本中是否存在问题 - 似乎没有。
请求挑战后,我收到回复:
{
"identifier":{
"type":"dns",
"value":"dennisschuerholz.de"
},
"status":"valid",
"expires":"2017-04-16T11:43:43Z",
"challenges":[
{
"type":"http-01",
"status":"pending",
"uri":"https://acme-v01.api.letsencrypt.org/acme/challenge/<some foo>/133324572",
"token":"<some token>"
},
{
"type":"tls-sni-01",
"status":"pending",
"uri":"https://acme-v01.api.letsencrypt.org/acme/challenge/<some foo>/133324573",
"token":"<some token>"
},
{
"type":"dns-01",
"status":"valid",
"uri":"https://acme-v01.api.letsencrypt.org/acme/challenge/<some foo>/133324574",
"token":"<some token>",
"keyAuthorization":"<some bar>",
"validationRecord":[
{
"Authorities":[
"dennisschuerholz.de.\t900\tIN\tNS\tns3.schuerholz.it.",
"dennisschuerholz.de.\t900\tIN\tNS\tns1.schuerholz.it.",
"dennisschuerholz.de.\t900\tIN\tNS\tns2.schuerholz.it.",
"dennisschuerholz.de.\t900\tIN\tNS\tns.schuerholz.it."
],
"hostname":"dennisschuerholz.de",
"port":"",
"addressesResolved":null,
"addressUsed":""
}
]
}
],
"combinations":[[0],[2],[1]]
}
我真的不明白为什么 dns 挑战类型仍然包含有关域的(过时的)信息,以及“过期”键是否与此有关。
如果我现在尝试回应挑战,状态将永远保持在等待状态。
{
"type":"http-01",
"status":"pending",
"uri":"https://acme-v01.api.letsencrypt.org/acme/challenge/<some foo>/133324572",
"token":"<some token>"
}
似乎我坚持使用 dns 挑战类型,并且想知道为什么以及如何恢复它(如果可能的话)。我只是在暂存路径 ( https://acme-staging.api.letsencrypt.org/directory
) 上使用了相同的脚本和域,效果很好。