Let's Encrypt без доступа к серверу — через DNS-валидацию
Стандартный путь Let's Encrypt подразумевает что у вас есть SSH к серверу и можно положить файл в директорию сайта. Но что если доступа нет? Например, домен зарегистрирован у одного регистратора, а сайт хостится у другого — или вы вообще ещё не переехали на сервер. Решение есть.
Когда нужен SSL без доступа к серверу
1. Сайт не на вашем сервере
Хостинг у провайдера, который не даёт SSH или панель не поддерживает Let's Encrypt напрямую. Сервер «чужой», но домен ваш — DNS под вашим контролем.
2. Сайт ещё не запущен, но сертификат уже нужен
Готовите переезд на новый сервер — хотите выпустить серт заранее, чтобы в момент переключения DNS не было «небезопасное соединение». Сервер ещё не готов, а серт уже нужен.
3. Сертификат на CDN или внешний сервис
Вам нужен файл сертификата — потому что внешний сервис (CDN, балансировщик, кастомное API-окружение) требует его загрузить через свой интерфейс. К физическому серверу с веб-сайтом доступа нет — он у клиента, провайдера или вообще не существует.
4. Wildcard для всех поддоменов
Wildcard-сертификаты в принципе нельзя получить через файл на сервере (HTTP-01). Let's Encrypt разрешает их только через DNS — это требование протокола. Подробнее — страница про wildcard.
Как это работает
- Открываете /ssl в браузере. Никакой установки, ничего скачивать не надо.
- Вводите домен и email. Email нужен для критичных уведомлений от Let's Encrypt и (опционально) для напоминания за 7 дней до истечения.
- Выбираете метод DNS. Мы покажем вам какую TXT-запись добавить:
- Имя: _acme-challenge.example.com
- Тип: TXT
- Значение: длинная строка, сгенерированная Let's Encrypt
- Добавляете запись у вашего DNS-провайдера. Это делается в личном кабинете регистратора домена (REG.RU, GoDaddy, Cloudflare, и т.д.). Обычно занимает 30 секунд.
- Ждёте 1-10 минут пока запись разойдётся по миру. Можно проверить на dnschecker.org.
- Нажимаете «Проверить и выпустить». Let's Encrypt проверяет TXT-запись, и если ОК — выдаёт сертификат.
- Скачиваете 4 файла. Дальше используете их где угодно — в nginx, в панели хостинга, на CDN, на балансировщике.
Где найти настройки DNS у популярных регистраторов
- REG.RU — личный кабинет → «Управление DNS» → добавить TXT-запись
- Cloudflare — DNS → Records → Add record (Type: TXT)
- GoDaddy — My Products → DNS → Add → TXT
- Namecheap — Domain List → Manage → Advanced DNS → Add New Record
- Beget, Timeweb, RU-CENTER, и др. российские — обычно в разделе «Домены» → «DNS» вашего личного кабинета
Если не находите — поищите в справке вашего регистратора «как добавить TXT-запись». Это базовая операция, у всех есть.
Что вы получаете на выходе
Те же 4 файла сертификата:
- cert.pem — сертификат вашего домена
- privkey.pem — приватный ключ
- chain.pem — промежуточные сертификаты Let's Encrypt
- fullchain.pem — cert + chain в одном файле (то что обычно нужно nginx и большинству хостингов)
Загружаете в админку хостинга / на CDN / в кабинет балансировщика — и SSL работает.
Что не работает через DNS-валидацию
- Домены без управления DNS. Если вы используете NS вашего хостинга и не можете добавить кастомные TXT-записи — DNS-валидация не сработает. Тогда нужен либо переезд на NS регистратора, либо HTTP-валидация.
- Очень короткий TTL. Если TXT-запись разойдётся не сразу — придётся ждать. Обычно 1-10 минут, иногда до часа.
Часто задаваемые вопросы
Можно ли удалить TXT-запись после получения сертификата?
Да. Запись нужна только в момент валидации. После того как сертификат получен — можно удалять. При обновлении (через 90 дней) её придётся добавить снова, но с новым значением.
Что если у меня запись блокирует CAA?
Иногда в DNS домена есть CAA-запись которая ограничивает кто может выпускать сертификаты. Если в ней не указан letsencrypt.org — Let's Encrypt откажет в выпуске. Решение: добавить запись CAA 0 issue "letsencrypt.org" или удалить ограничивающую CAA.
Можно ли использовать тот же сертификат на нескольких серверах?
Да. Сертификат привязан к домену, а не к серверу. Один файл можно установить на несколько машин — главное хранить приватный ключ в секрете.
А если у меня нет email Let's Encrypt — что подойдёт?
Email просто нужен один раз — для регистрации в Let's Encrypt и для критичных уведомлений (например, отзыв сертификата). Это не email вашего домена, а ваш личный. Подойдёт обычный.