При использовании Let's Encrypt Certbot сервер Let’s Encrypt отправляет HTTP-запрос к временному файлу на веб-сервере, чтобы подтвердить, что запрашиваемый домен разрешается на сервер, на котором работает certbot.
Однако мой провайдер блокирует порт 80 в своем брандмауэре и не открывает его, даже временно. Я также не могу использовать проверку DNS, потому что я не могу редактировать запись DNS.
(Как) Могу ли я использовать процесс проверки Let’s Encrypt через https (с Apache, прослушивающим порт 443 с самозаверяющим сертификатом) вместо http?
Letsencrypt рекомендует держать порт 80 открытым:
Разрешение порта 80 не увеличивает поверхность атаки на ваш сервер, поскольку запросы на порт 80 обычно обслуживаются тем же программным обеспечением, которое работает на порту 443.
Но у них есть такой сценарий:
К сожалению, вы не можете контролировать, заблокирован ли порт 80 для вашего сайта. Некоторые (в основном домашние) интернет-провайдеры блокируют порт 80 по разным причинам. Если ваш интернет-провайдер делает это, но вы все равно хотите получать сертификаты от Let's Encrypt, у вас есть два варианта: вы можете использовать вызовы DNS-01 или вы можете использовать один из клиентов, который поддерживает вызовы TLS-ALPN-01 (на порту 443 ).
Итак, рекомендуемый способ - использовать tls-alpn-challenge