Краткое содержание: В 2026 году работа сайта на открытом протоколе HTTP — это не только риск потери клиентов из-за предупреждений браузеров, но и гарантированное падение позиций в поисковой выдаче. В этом руководстве хардкор разберем, как с помощью утилиты ACME.sh автоматизировать выпуск и установку бесплатных wildcard-сертификатов Let’s Encrypt через DNS API. Мы сравним доступные решения, настроим автоматическое обновление в Nginx, разберем правила безопасного хранения API-ключей, усилим защиту через HSTS и дадим рекомендации по бесперебойному продлению сертификатов.
Если ваш сайт до сих пор работает по http://, это не просто уязвимость, а критическая ошибка в эксплуатации. В 2026 году SSL-сертификат (HTTPS) — это обязательный стандарт для любого веб-ресурса:
- Доверие пользователей: Современные браузеры помечают сайты без HTTPS как «Небезопасные». Это отпугивает посетителей и резко снижает конверсию.
- Фактор ранжирования (SEO): SSL не является единственным критерием, но Google и другие поисковики давно учитывают HTTPS как важный сигнал. При прочих равных защищенные сайты получают преимущество в выдаче.
- Безопасность и современные протоколы: Независимо от того, управляете ли вы высоконагруженным проектом или личным блогом, SSL предотвращает прослушивание и модификацию трафика атакующими (MITM). Кроме того, только с HTTPS доступны протоколы HTTP/2 и HTTP/3 (QUIC), которые значительно ускоряют загрузку страниц.
🏗️ Этап 1: Выбор решения — какой бесплатный сертификат подойдет вам?
На рынке представлено несколько бесплатных вариантов. Для опытных пользователей VPS мы выделим три основных:
- Let’s Encrypt: Отраслевой стандарт с открытым исходным кодом. Поддерживает протокол ACME, полностью автоматизирован. Срок действия — 90 дней (с автоматическим продлением). Идеально для пользователей VPS с базовыми навыками администрирования Linux.
- ZeroSSL: Аналог Let’s Encrypt с бесплатным тарифом. Главное преимущество — возможность выпуска сертификатов для чистых IP-адресов и удобный веб-интерфейс для управления.
- Cloudflare SSL: Простое решение «в один клик». Важно: режим Flexible шифрует трафик только между браузером и Cloudflare, а соединение до вашего сервера остается открытым. Для полной защиты настоятельно рекомендуется использовать режим Full (Strict) с установленным на сервере сертификатом.
Рекомендация vps1111: Для максимальной надежности и контроля над системой оптимальным решением остается связка «ACME.sh + Let’s Encrypt».
📋 Этап 2: Сравнение популярных методов получения SSL
📊 Сравнительная таблица бесплатных SSL-решений: обязательно к изучению для хостинг сайтов
| Инструмент | Протокол проверки | Стабильность продления | Целевая аудитория | Рекомендация |
|---|---|---|---|---|
| ACME.sh | DNS API / Webroot | Очень высокая (через Cron) | Продвинутые пользователи / Разработчики | ⭐⭐⭐⭐⭐ |
| Certbot | HTTP-01 | Высокая (зависит от Python) | Пользователи Linux | ⭐⭐⭐⭐ |
| Встроенный в панель | HTTP-01 / DNS | Средняя (зависит от обновлений панели) | Пользователи графических панелей | ⭐⭐⭐ |
🛠️ Этап 3: Хардкор практика — автоматизация SSL через ACME.sh
ACME.sh — это легковесный скрипт на чистом Shell без внешних зависимостей (не требует Python), что делает его идеальным для VPS с ограниченными ресурсами.

1. Установка ACME.sh
Выполните в терминале следующую команду (замените email на свой для получения уведомлений об истечении срока или ошибках продления):
# Загрузка скрипта через curl и запуск через sh
curl -s https://get.acme.sh | sh -s email=my@example.com
2. Проверка через DNS API (поддержка wildcard-сертификатов)
Преимущество DNS-проверки: не требуется открывать 80-й порт (веб-сервер продолжает работать без прерываний), а также позволяет сразу выпустить сертификат для всех поддоменов (например, *.vps1111.com). Пример для Cloudflare:
export CF_Key="ваш_Global_API_Key"
export CF_Email="ваш_регистрационный_email"
# Выпуск сертификата для основного домена и всех поддоменов
acme.sh --issue --dns dns_cf -d vps1111.com -d *.vps1111.com
# 【ВНИМАНИЕ】После выполнения обязательно очистите историю терминала, чтобы не оставить API-ключ в открытом виде:
history -c
Рекомендация по безопасности: Прямой вызов
exportв терминале сохраняет ваш Global API Key в открытом виде в файле.bash_history, что создает серьезный риск утечки. Для production-среды надежнее сразу прописать ключи в конфигурационном файле~/.acme.sh/account.confи установить права доступаchmod 600.
3. Установка сертификата в Nginx
Никогда не копируйте файлы сертификатов вручную из скрытой директории .acme.sh. Правильный метод — использовать команду --install-cert, которая скопирует файлы в нужное место и автоматически перезагрузит Nginx:
acme.sh --install-cert -d vps1111.com \
--key-file /etc/nginx/ssl/vps1111.com.key \
--fullchain-file /etc/nginx/ssl/fullchain.cer \
--reloadcmd "systemctl reload nginx"
💡 Рекомендации vps1111: тонкости обслуживания SSL
🔍 Настройка безопасности для production-среды:
- Принудительный редирект 301: После установки сертификата настройте в веб-сервере (Nginx/Apache) автоматический редирект с HTTP на HTTPS. Весь трафик должен идти только по защищенному каналу.
- Активация HSTS: Добавьте в заголовки ответа директиву
Strict-Transport-Security: max-age=31536000; includeSubDomains. Это заставит браузер использовать только HTTPS в течение года, защищая от атак типа SSL Stripping. - Мониторинг срока действия: Несмотря на автоматическое продление через Cron, изменения в DNS API или блокировки фаерволом могут привести к ошибке. Рекомендуется добавить проверку срока действия сертификата в Uptime Kuma или аналогичный мониторинг для предотвращения простоев.
Часто задаваемые вопросы (FAQ)
Есть ли разница в безопасности между бесплатными и платными SSL-сертификатами?
С точки зрения криптографии (алгоритмы RSA-2048 или ECC) и защиты передаваемых данных разницы нет. Платные сертификаты предоставляют дополнительную проверку организации (OV/EV) и страховые гарантии, что важно для крупного бизнеса. Для личных блогов и коммерческих сайтов бесплатные сертификаты обеспечивают идентичный уровень защиты и одинаково положительно влияют на SEO.
Почему автоматическое продление через ACME.sh может завершиться ошибкой?
Основные причины: истек срок действия или был сброшен DNS API-ключ, фаервол сервера блокирует исходящие запросы проверки, либо при использовании HTTP-01 порт 80 занят другим процессом. Рекомендуется ежемесячно запускать acme.sh --list для контроля статуса сертификатов.
Что делать, если после включения HTTPS увеличилась задержка загрузки сайта?
SSL/TLS рукопожатие действительно добавляет минимальную задержку (обычно несколько десятков миллисекунд), но на качественных VPS-маршрутах это незаметно. Для оптимизации включите в Nginx поддержку HTTP/2 или TLS 1.3 и настройте кэширование сессий через ssl_session_cache. Это значительно ускорит повторные подключения пользователей.