Wildcard SSL Let's Encrypt из России в 2025: рабочее решение

В 2025 году пользователи из России столкнулись с ограничениями доступа к API Let's Encrypt. Это затруднило выпуск и обновление SSL-сертификатов через стандартные инструменты, такие как certbot или acme.sh.
Решение всё ещё существует — использовать внешний сервер и DNS-валидацию. Это подходит для получения wildcard-сертификатов, необходимых для защиты всех поддоменов.
Проблемы соединения с Let's Encrypt из РФ
Попытка выпустить сертификат с российских серверов может вызвать ошибки:
ReadTimeoutпри подключении кacme-v02.api.letsencrypt.orgconnection refusedилиSSL_ERROR_SYSCALL- Зависание при попытке
telnet acme-v02.api.letsencrypt.org 443 - Ошибка регистрации аккаунта в
certbotилиacme.sh
Наиболее уязвим HTTP-метод валидации (.well-known), который полностью зависит от доступности Let's Encrypt.
Решение: внешний VPS и DNS-валидация
Что потребуется:
- Доступ к VPS вне РФ (любая страна, где работает Let's Encrypt API)
- Домены с доступом к управлению DNS (панель провайдера или API)
- Установленный
acme.shна внешнем сервере
1. Установка acme.sh на внешнем сервере
Подключитесь к внешнему серверу по SSH и выполните:
curl https://get.acme.sh | shПерезапустите сессию или выполните:
source ~/.bashrc2. Выпуск wildcard-сертификата вручную
Выполните следующую команду, указав свой домен и email:
~/.acme.sh/acme.sh \
--issue \
-d '*.example.ru' \
--dns dns_manual \
--server https://acme-v02.api.letsencrypt.org/directory \
--accountemail your@email.comСкрипт выведет инструкцию по созданию TXT-записи в DNS вида:
_acme-challenge.example.ru IN TXT "XXXXXXXXXXXXXX"Добавьте запись в панели управления DNS и подождите пока она появится.
Проверка TXT-записи через dig или nslookup
Чтобы убедиться, что TXT-запись применена и доступна, выполните одну из следующих команд:
Проверка через dig:
dig TXT _acme-challenge.example.ru +shortПроверка через nslookup:
nslookup -type=TXT _acme-challenge.example.ru5. Завершите выпуск сертификата
Когда запись появится, запустите команду:
~/.acme.sh/acme.sh --renew -d '*.example.ru'После успешного завершения сертификаты будут сохранены в:
~/.acme.sh/*.example.ru/fullchain.cer~/.acme.sh/*.example.ru/*.key
Перенос на российский сервер
scp ~/.acme.sh/*.example.ru/*.cer user@ru-server:/etc/ssl/certs/ scp ~/.acme.sh/*.example.ru/*.key user@ru-server:/etc/ssl/private/Автоматизация продления
При использовании dns manual обновление сертификатов требует повторного добавления TXT-записей. Чтобы автоматизировать процесс, подключите API DNS-провайдера (если поддерживается).
Пример для Cloudflare:
export CF_Token="your_token"
export CF_Account_ID="your_account_id"
acme.sh --issue --dns dns_cf -d '*.example.ru'Продление через --renew
Если сертификат уже был получен ранее и сохранён в конфигурации ~/.acme.sh, его можно продлить с помощью:
~/.acme.sh/acme.sh --renew -d '*.example.ru'Если используется ручной DNS, придётся снова добавить TXT-запись. При наличии автоматической интеграции через API — всё выполнится без вмешательства.
Заключение
Несмотря на блокировки, получить Wildcard SSL-сертификат Let's Encrypt из России всё ещё возможно. Достаточно использовать внешний VPS и DNS-валидацию через acme.sh. При наличии доступа к API DNS-провайдера можно полностью автоматизировать процесс обновления сертификатов.