Установите сертификат LetsEncrypt без доступа к DNS
Мой клиент имеет домен и направил запись A своего домена на мою машину, чтобы я мог разработать сайт. Обычно, когда у меня есть контроль над DNS, довольно легко получить сертификат LetsEncrypt и работающий https. Однако я не могу сделать это сейчас, когда у него есть DNS, и он указывает только запись A на мой IP, и я не уверен, почему. Любая подсказка?
2 ответа
Let's Encrypt поддерживает несколько типов вызовов ACME. Если вы не можете использовать проверку домена на основе DNS, альтернативой является использование запроса HTTP, т.е. --webroot
вариант в certbot.
В этом режиме CertBot просто необходимо поместить определенный файл в ваш веб-каталог, чтобы сервер Let's Encrypt мог успешно загрузить его, для чего достаточно существующей записи A. Однако вам нужен веб-сервер, который уже работает на порту 80.
- Настройте веб-сервер для обслуживания, например,
/var/www
в этом домене, по обычному HTTP. certbot certonly --webroot -w /var/www -d example.com
- Certbot помещает файл в /var/www/.well-known/acme-challenge/, Let's Encrypt загружает его
- Теперь завершите настройку веб-сервера, чтобы он также обслуживал домен через HTTPS.
(Обратите внимание, что вам необходимо поддерживать доступ к обычному HTTP-порту 80 при каждом обновлении. Можно перенаправить его на HTTPS, но файл запроса по-прежнему должен быть доступен.)
Обычно, когда у меня есть контроль над DNS, довольно легко получить сертификат LetsEncrypt и работающий https.
Если вы используете DNS-01 для проверки сайта, то во время этого процесса TXT-записи временно добавляются в зону DNS. Предполагая, что используется DNS-01, кажется, что Certbot не может добавить необходимые записи TXT для проверки.
Простейшая альтернатива - использовать проверку HTTP-01 вместо --webroot
варианты (как указано в ответе @grawity). С помощью этого метода вы не можете получить сертификат домена подстановочного знака (например, *.example.com), но вы должны иметь возможность использовать альтернативные имена субъекта (SAN) с ним (при условии, что вам нужен сертификат, который также охватывает субдомены и т. Д.).