Когда вы сталкиваетесь с сообщением «Лимит запросов Let's Encrypt исчерпан» (Too Many Certificates Already Issued), это означает, что вы превысили установленные ограничения на выдачу или обновление сертификатов. Эта ситуация часто возникает из-за некорректной автоматизации, многократных неудачных попыток валидации или неправильной конфигурации домена. Чтобы починить проблему, необходимо сначала определить её корень, чаще всего это ошибка в DNS или конфигурации веб-сервера, дождаться сброса лимита, а затем повторить процесс выпуска или обновления сертификата после устранения первопричины.
Понимание Лимитов Let's Encrypt и Причины Их Возникновения
Let's Encrypt — это некоммерческий центр сертификации, предоставляющий бесплатные SSL/TLS сертификаты. Для обеспечения стабильности сервиса, предотвращения злоупотреблений и оптимизации ресурсов, Let's Encrypt применяет систему лимитов запросов. Эти ограничения разработаны таким образом, чтобы удовлетворять потребности большинства пользователей, но могут быть превышены при неправильной настройке или некорректном использовании.
Основной лимит — «Сертификаты на зарегистрированный домен» (Certificates per Registered Domain). По состоянию на апрель 2026 года, он составляет 50 сертификатов для одного зарегистрированного домена (например, example.com) за неделю. Это означает, что вы можете выпустить до 50 уникальных сертификатов для example.com и его поддоменов (например, www.example.com, blog.example.com) в течение семи дней. Другой важный лимит — «Неудачные валидации» (Failed Validations), который позволяет до 5 неудачных попыток валидации на зарегистрированный домен в час. После этого, попытки валидации блокируются на час, чтобы предотвратить перегрузку системы.
Частые причины исчерпания лимитов включают многократные, но безуспешные попытки получения сертификата из-за ошибок в конфигурации DNS, неправильных путей к файлам валидации на веб-сервере (например, .well-known/acme-challenge/), опечаток в именах доменов или некорректной автоматизации, которая не использует режим «сухого запуска» (--dry-run). Иногда лимиты исчерпываются из-за постоянной смены доменов или удаления и перевыпуска сертификатов без необходимости.
Для тестирования конфигурации Certbot и предотвращения превышения лимитов всегда используйте опцию --dry-run. Это имитирует процесс выпуска сертификата без фактического взаимодействия с серверами Let's Encrypt, что позволяет выявить ошибки заранее.Управление собственным сервером для таких задач, как выдача и обновление сертификатов, требует внимания к деталям. Для тех, кто только начинает работать с серверами, подробное руководство по настройке VPS на Ubuntu 24.04 может быть полезным.
Диагностика Проблемы: Как Определить Причину
Первый шаг к решению проблемы — точное определение её причины. Let's Encrypt и Certbot предоставляют достаточно информации в логах, чтобы понять, что пошло не так.
Проверка логов Certbot
Самый надежный способ узнать, почему Certbot не смог получить или обновить сертификат, — это проанализировать его логи. Стандартный путь к логам Certbot на большинстве систем находится в /var/log/letsencrypt/letsencrypt.log. Эти логи содержат детальную информацию о каждой попытке взаимодействия с серверами Let's Encrypt.
sudo tail -f /var/log/letsencrypt/letsencrypt.logИщите строки с ключевыми словами «ERROR», «Failure» или «Too many certificates already issued». Например, вы можете увидеть сообщение, подобное этому:
2026-04-29 10:30:15,123:ERROR:certbot.reporter:Certbot failed to authenticate some domains (authenticator: webroot). The Certificate Authority reported these problems:
Domain: example.com
Type: urn:ietf:params:acme:error:rateLimited
Detail: Error creating new order :: too many certificates already issued for a given name: example.com: see https://letsencrypt.org/docs/rate-limits/Это сообщение четко указывает на превышение лимита «Сертификаты на зарегистрированный домен». Если проблема связана с неудачными валидациями, вы можете увидеть «too many failed authorizations recently». Изучение документации Let's Encrypt по лимитам запросов поможет лучше понять конкретные ошибки.
Использование Certbot Dry Run
Как упоминалось ранее, --dry-run — ваш лучший друг при тестировании. Он позволяет симулировать процесс получения сертификата без фактического использования лимитов.
sudo certbot renew --dry-runЭта команда попытается обновить все существующие сертификаты или выдать новые, если вы используете certonly с --dry-run. Если в режиме сухого запуска возникают ошибки, это указывает на проблему в конфигурации, которую нужно устранить до попытки получения реального сертификата. Успешный сухой запуск означает, что ваша конфигурация, скорее всего, верна, и вы можете безо рисков попробовать получить сертификат.
Проверка конфигурации домена и DNS
Многие проблемы с Certbot возникают из-за неправильной конфигурации DNS. Убедитесь, что A/AAAA записи для вашего домена и всех его поддоменов указывают на правильный IP-адрес вашего сервера. Задержки в распространении DNS также могут вызвать проблемы, особенно если вы только что изменили записи.
dig +short example.com
dig +short www.example.comЭти команды покажут, какие IP-адреса связаны с вашими доменными именами. Убедитесь, что они соответствуют IP-адресу вашего сервера. Инструменты типа DNS Checker могут помочь отследить распространение DNS по всему миру.
Анализ конфигурации веб-сервера (Nginx/Apache)
Certbot обычно использует плагин webroot для валидации домена, создавая временные файлы в директории .well-known/acme-challenge/ на вашем веб-сервере. Если ваш веб-сервер (например, Nginx или Apache) настроен неправильно и не может обслуживать эти файлы, валидация не пройдет.
# Пример конфигурации Nginx для .well-known/acme-challenge/
location /.well-known/acme-challenge/ {
root /var/www/html; # Укажите здесь путь к вашей корневой директории веб-сайта
allow all;
}Убедитесь, что путь root в этой конфигурации соответствует директории, которую Certbot использует для создания файлов валидации. Проблемы с веб-сервером могут проявляться по-разному, например, в виде ошибок 502 Bad Gateway. Если вы столкнулись с подобными проблемами, наш чек-лист по диагностике и устранению Nginx 502 Bad Gateway может оказаться полезным.
Стратегии Устранения Исчерпанного Лимита Let's Encrypt
После того как вы диагностировали причину превышения лимитов, пришло время применить стратегии для их устранения.
Ожидание сброса лимита
Самый простой, но иногда и самый долгий способ — просто дождаться, пока лимит сбросится. Лимит на неудачные валидации сбрасывается через 1 час, а лимит на выданные сертификаты — через 7 дней. Если вы исчерпали лимит на выданные сертификаты, вам, возможно, придется подождать неделю, прежде чем вы сможете получить новый сертификат для этого домена. Важно использовать это время для тщательной проверки и исправления всех выявленных проблем.
План по восстановлению после исчерпания лимитов должен начинаться с терпеливого ожидания сброса, но при этом активно исправлять корневые причины, чтобы избежать повторения.
Использование Staging-среды Let's Encrypt
Let's Encrypt предоставляет отдельную «staging» среду, которая имеет гораздо более мягкие лимиты и предназначена специально для тестирования. Использование staging-среды позволяет вам отработать весь процесс получения сертификата без риска исчерпать производственные лимиты.
sudo certbot certonly --webroot -w /var/www/html -d example.com --dry-run --stagingОбратите внимание на флаг --staging (или --test-cert). Если эта команда завершается успешно, вы можете быть уверены, что ваша конфигурация работает правильно, и можно смело попробовать получить производственный сертификат, убрав флаг --staging.
Получение Wildcard-сертификата (для нескольких поддоменов)
Если у вас есть много поддоменов, и вы постоянно сталкиваетесь с лимитами, подумайте о получении wildcard-сертификата (например, для *.example.com). Такой сертификат покрывает все поддомены первого уровня и считается как один сертификат по отношению к лимитам Let's Encrypt. Wildcard-сертификаты требуют использования метода валидации DNS-01, при котором вы должны добавить TXT-запись в DNS вашего домена для подтверждения владения.
sudo certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.comЭта команда попросит вас вручную добавить TXT-запись. Автоматизация DNS-01 возможна с помощью DNS-плагинов Certbot, которые поддерживают API вашего провайдера DNS (например, Cloudflare, DigitalOcean, Route 53).
Временное использование другого домена или субдомена
В крайних случаях, если основной домен жестко ограничен и требуется немедленное развертывание, можно временно развернуть сервис на другом, неограниченном домене или поддомене. Это подходит для внутренних тестов или если у вас есть запасные домены. Однако это скорее обходной путь, чем постоянное решение.
Для проектов, требующих полного контроля и высокой производительности, например, при частой выдаче или обновлении сертификатов для множества доменов, часто выбирают VPS-хостинг от таких провайдеров, как Valebyte. Это позволяет гибко настраивать Certbot и управлять большим количеством сертификатов без ограничений, присущих общим хостингам.
- Определите точную причину: Внимательно изучите логи Certbot (
/var/log/letsencrypt/letsencrypt.log) и используйтеsudo certbot renew --dry-runдля выявления конкретной ошибки (DNS, веб-сервер, опечатки в домене). - Исправьте базовую проблему: Устраните все ошибки в конфигурации DNS, веб-сервера (Nginx/Apache) или в командах Certbot, которые были обнаружены на предыдущем шаге.
- Дождитесь сброса соответствующего лимита: Если лимит исчерпан, дайте ему сброситься (1 час для неудачных валидаций, 7 дней для выданных сертификатов).
- Протестируйте процесс выпуска/обновления сертификата в staging-среде: Используйте флаг
--stagingс Certbot, чтобы убедиться, что все работает корректно без использования производственных лимитов. - После успешного тестирования, повторите процесс в production: Запустите команду Certbot без флага
--stagingдля получения или обновления реального сертификата.
Предотвращение Исчерпания Лимитов в Будущем
Лучший способ справиться с лимитами Let's Encrypt — это предотвратить их достижение. Правильная настройка и автоматизация играют здесь ключевую роль.
Автоматизация обновления Certbot
Certbot поставляется со встроенной функцией автоматического обновления сертификатов. На современных системах (таких как Ubuntu 24.04), он обычно устанавливает таймер systemd (certbot.timer) или задание cron. Убедитесь, что этот механизм активен и работает корректно. Certbot попытается обновить сертификаты за 30 дней до их истечения, что дает достаточно времени для устранения возможных проблем.
sudo systemctl status certbot.timerЭта команда покажет статус таймера Certbot. Он должен быть active (waiting), что означает, что он будет запускать certbot renew по расписанию.
Тщательная проверка перед выпуском
Перед каждой новой выдачей сертификата или при внесении значительных изменений в конфигурацию домена, всегда выполняйте следующие шаги:
- Проверьте DNS-записи с помощью
digили онлайн-инструментов. - Убедитесь, что ваш веб-сервер корректно обслуживает статические файлы, особенно из директории
.well-known/acme-challenge/. - Используйте
certbot --dry-runдля имитации процесса.
Эта предусмотрительность значительно снизит вероятность столкновения с лимитами.
Использование одного сертификата для нескольких доменов (SAN)
Если у вас есть несколько доменов или поддоменов, которые обслуживаются одним веб-сервером, используйте один сертификат SAN (Subject Alternative Names), который покрывает все эти домены. Это позволяет Let's Encrypt обрабатывать их как один сертификат, уменьшая количество запросов, которые вы делаете.
sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com -d blog.example.comВ этом примере один сертификат будет выдан для example.com, www.example.com и blog.example.com, что потребляет только один из 50 лимитов на зарегистрированный домен в неделю.
Переход на DNS-01 challenge для сложных конфигураций
Для серверов, которые не имеют прямого доступа извне (например, находятся за NAT), или для автоматизации выдачи wildcard-сертификатов, метод DNS-01 является предпочтительным. Он требует, чтобы вы добавили TXT-запись в DNS, что может быть автоматизировано с помощью API вашего DNS-провайдера. Это особенно полезно, когда веб-сервер не может быть доступен по 80-му или 443-му порту, что часто бывает в сложных серверных конфигурациях, например, при настройке VPS для Telegram бота или других фоновых сервисов, которые не имеют веб-интерфейса.
Исчерпание лимитов Let's Encrypt — это распространенная, но решаемая проблема. Понимание механизмов лимитов, тщательная диагностика с использованием логов и --dry-run, а также правильная стратегия восстановления и предотвращения позволят вам поддерживать ваши сайты в безопасности с актуальными SSL/TLS сертификатами.





