Из документов плагина Cerrobot webroot
Плагин webroot работает путем создания временного файла для каждого из ваших запрошенных доменов в
${webroot-path}/.well-known/acme-challenge
. Затем сервер проверки Let's Encrypt отправляет HTTP-запросы для проверки того, что DNS для каждого запрашиваемого домена разрешается на сервере, на котором выполняется certbot.
На частном домашнем сервере у меня отключен порт 80, то есть переадресация портов не включена в маршрутизаторе. Я не собираюсь открывать этот порт.
Как я могу сказать certbot, что сервер проверки должен делать не HTTP-запрос, а HTTPS (порт 443), чтобы подтвердить право собственности на домен?
Серверу валидации даже не нужно проверять сертификат домашнего сервера, поскольку он по умолчанию уже использует HTTP. У меня может быть самозаверяющий сертификат или сертификат, который подлежит обновлению, но это не должно иметь значения.
В настоящее время я нахожусь в ситуации, когда мне нужно включить переадресацию порта 80, а также сервер на нем для создания / обновления сертификатов. Это не позволяет мне использовать cronjob для продления сертификата. Ну, с достаточным количеством работы, это было бы, но у меня уже есть сервер, слушающий 443, который мог бы сделать работу также.
источник