Переход на продление сертификата LetsEncrypt с DNS на http
Недавно я перешел с dns-01 на http-01 callenge type для 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 по-прежнему содержит (устаревшую) информацию о домене, и если кнопка "expires" как-то связана с этим.
Если я сейчас попытаюсь ответить на вызов, статус останется в ожидании навсегда.
{
"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
), это работает нормально.
1 ответ
Serverco из LE-Community объяснил мне, что происходит.
После проверки домена эта авторизация запоминается на определенный период времени (в настоящее время я полагаю, что это 90 дней), поэтому запрос через другой тип запроса ( http в вашем случае) всегда приводит к "ожиданию", если только скрипт принимает к сведению "статус": "действительный". [..] Обезвоженный [..] должен распознать действительный статус и просто получить новый сертификат.
Теперь я поставил патч для моей обезвоженной версии, который пропускает испытание, если оно не требуется.