Для настройки Let's Encrypt на сервере Linux в 2026 году установите Certbot, откройте порты 80/443 и запустите установщик, работающий одной командой. Apache or Nginx получить и применить бесплатный SSL Сертификат. Проверьте HTTPS, включите автоматическое продление и усильте настройки TLS. В этом руководстве описаны пошаговые команды и использование символов подстановки. SSLи устранение неполадок.
Защита вашего веб-сайта с помощью HTTPS — это обязательное условие. В этом пошаговом руководстве вы узнаете, как настроить Let's Encrypt на сервере Linux с использованием Certbot — рекомендуемого клиента ACME (по состоянию на 2026 год). Мы рассмотрим следующие вопросы: Apache, Nginx, подстановочный знак SSLАвтоматическое продление, правила брандмауэра, усиление безопасности и практический опыт устранения неполадок, приобретенные за более чем 12 лет работы с производственными серверами.
Что вам понадобится перед началом работы (краткий контрольный список)
Убедитесь, что все основные параметры настроены должным образом, чтобы процесс выдачи сертификата не прервался на полпути.
- Доступ с правами root или sudo к серверу Linux (Ubuntu/Debian, AlmaLinux/Rocky/RHEL или аналогичным).
- Зарегистрированный домен, указывающий на публичный IP-адрес вашего сервера (при этом распространяются записи A/AAAA).
- В настройках брандмауэра, групп безопасности и панели провайдера открыты порты 80 (HTTP) и 443 (HTTPS).
- Веб-сервер установлен (Apache or NginxДля автономной выдачи веб-сервер не требуется.
- Дополнительно: Управление DNS поставщик для DNS-01 испытаний (сертификаты-джокеры).
Установите Certbot (рекомендуемый метод для 2026 года).
Let's Encrypt рекомендует использовать Certbot с Snap для большинства дистрибутивов. Это позволяет поддерживать Certbot в актуальном состоянии независимо от пакета операционной системы. manager.
Ubuntu/Debian (через Snap)
sudo apt update
sudo apt install -y snapd
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot # convenience symlinkRHEL, Rocky, AlmaLinux (через Snap)
sudo dnf install -y epel-release
sudo dnf install -y snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbotПроверить Certbot
certbot --versionЕсли Snap не подходит, используйте пакет из вашего дистрибутива или образ Docker для Certbot, но ожидайте более медленного обновления.
Откройте порты брандмауэра 80 и 443.
UFW (Ubuntu/Debian)
sudo ufw allow "Nginx Full" # or "Apache Full"
sudo ufw statusfirewalld (RHEL/Rocky/AlmaLinux)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --list-allПолучите и установите сертификат Let's Encrypt.
Используйте плагины веб-сервера Certbot для выдачи и настройки сертификатов одной командой. Замените example.com на свой домен.
Nginx (HTTP‑01, автоматическая настройка)
sudo certbot --nginx -d example.com -d www.example.comРедактирование Certbot Nginx сервер блокирует, добавляет SSL директивы, перезагрузки Nginxи настраивает перенаправление HTTP→HTTPS при выборе этой опции.
Apache (HTTP‑01, автоматическая настройка)
sudo certbot --apache -d example.com -d www.example.comCertbot обновляет файлы вашего виртуального хоста. позволяет SSL модуль при необходимости, и перезаряжает ApacheПри появлении соответствующего запроса выберите перенаправление с HTTP на HTTPS.
Webroot (не требует перезагрузки веб-сервера, отлично подходит для CI/CD)
# Ensure your webroot is correct; files must be publicly served at /.well-known/acme-challenge/
sudo certbot certonly --webroot -w /var/www/example
-d example.com -d www.example.comУкажите в корневом каталоге веб-сервера директорию, обслуживающую ваш домен. Затем добавьте SSL Внесите необходимые директивы вручную в конфигурацию вашего веб-сервера, используя указанные пути.
Автономный (веб-сервер не запущен во время выдачи)
# Stop your web server to free port 80/443 temporarily
sudo systemctl stop nginx # or apache2/httpd
sudo certbot certonly --standalone -d example.com
sudo systemctl start nginxАвтономная версия идеально подходит для первоначальной выдачи сертификатов на новых хостах или для автоматизированных скриптов, когда веб-сервер еще не готов.
Использование символов подстановки и многодоменных запросов SSL (DNS-01 Задание)
Для использования сертификатов с подстановочными знаками (*.example.com) требуется DNS-01. Вы можете решить эту задачу вручную, добавив записи TXT, или автоматизировать ее с помощью DNS плагины (Cloudflare(например, Route 53, DigitalOcean и др.).
Ручной DNS (работает с любым) DNS провайдер)
sudo certbot certonly --manual --preferred-challenges dns
-d example.com -d '*.example.com'Certbot предложит вам создать TXT-записи в _acme-challenge. Подождите DNS распространение перед нажатием клавиши Enter. Для продления подписки это необходимо повторить, если процедура не автоматизирована.
Автоматический DNS (Cloudflare пример)
# Install the plugin (Snap auto-includes many; otherwise use pip)
# Example with Cloudflare:
sudo snap set certbot trust-plugin-with-root=ok
sudo snap install certbot-dns-cloudflare
# Create API credentials file with limited DNS edit scope:
echo "dns_cloudflare_api_token = <YOUR_TOKEN>" | sudo tee /root/.cloudflare.ini >/dev/null
sudo chmod 600 /root/.cloudflare.ini
# Issue wildcard:
sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.cloudflare.ini
-d example.com -d '*.example.com'Воспользуйтесь соответствующим сервисом Certbot вашего поставщика услуг. DNS Плагин. Он обеспечивает полностью автоматическое продление действия символов подстановки.
Добавить/подтвердить веб-сервер SSL Конфигурация
Если вы использовали Nginx or Apache установщик, Большая часть работы уже выполнена. Для корневого каталога/автономного приложения добавьте эти фрагменты кода с вашим доменом и путями.
Nginx минимальный безопасный фрагмент кода (TLS 1.2/1.3)
server {
listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
root /var/www/example;
index index.html index.php;
}
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}Apache минимальный безопасный фрагмент
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Protocols h2 http/1.1
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>После внесения изменений перезагрузите сервер: sudo systemctl reload nginx or sudo systemctl reload apache2/httpd.
Автоматическое продление и проверки состояния
Snap устанавливает для Certbot таймер systemd, который проверяет сертификат дважды в день и обновляет его за 30 дней до истечения срока действия. Подтвердите таймеры и выполните пробное обновление.
# Confirm timer
systemctl list-timers | grep certbot
# Dry-run test
sudo certbot renew --dry-runВеб-сервер автоматически перезагружается с помощью обработчиков установки. Для пользовательских настроек добавьте обработчик развертывания:
sudo certbot renew --deploy-hook "systemctl reload nginx"Отслеживание срока действия осуществляется следующим образом:
sudo openssl x509 -enddate -noout -in /etc/letsencrypt/live/example.com/cert.pemПроверка и тестирование
- Проверка в браузере: перейдите по ссылке https://example.com и проверьте значок замка.
- Тест командной строки:
curl -I https://example.comДолжен возвращаться код HTTP/2 200 с действительной цепочкой сертификатов. - Глубокое тестирование: Запустите свой домен на SSL Тест по лабораторному серверу на оценку A или A+.
Устранение распространенных проблем (2026)
- Проверка не пройдена (HTTP‑01): Обеспечить DNS A/AAAA указывает на этот сервер. Убедитесь, что порт 80 открыт и не заблокирован прокси-сервером/WAF. Отключите переадресацию для технического обслуживания.
/.well-known/acme-challenge/. - IPv6 Несоответствие: Ваша запись AAAA должна указывать на тот же сервер, который обслуживает HTTP-01. В противном случае удалите или исправьте её.
- Cloudflare/CDN: Для HTTP-01 временно установить DNS к "DNS только» (серое облако) или используйте DNS— Метод ‑01 вместо этого.
- Ограничения скорости запросов: Избегайте повторных запросов. Используйте тестовую точку доступа Let's Encrypt.
--dry-runor--test-cert) во время тестирования. - Права доступа к файлу: Закрытые ключи в
/etc/letsencrypt/live/должен принадлежать root. Не изменяйте его на доступный для чтения всем. - Смешанный контент: Обновите URL-адреса сайта, скрипты и изображения по протоколу HTTPS чтобы предотвратить предупреждения о наличии навесного замка.
Передовые методы производства
- После подтверждения работоспособности всех ресурсов по протоколу HTTPS, включите принудительное использование HTTPS и активируйте HSTS.
- Регулярно обновляйте Certbot (Snap обновляется автоматически). Просматривайте журналы продления сертификатов в
/var/log/letsencrypt/. - Используйте DNS-01 для использования символов подстановки и автомасштабируемых сред за балансировщиками нагрузки.
- Храните инфраструктуру как код: версионируйте свой код. Nginx/Apache конфигурационные файлы и обработчики обновления.
- Резервное копирование
/etc/letsencrypt/а также конфигурацию вашего веб-сервера. Никогда не раскрывайте закрытые ключи публично.
Когда стоит рассмотреть платную услугу SSL Вместо
Let's Encrypt предоставляет услуги, подтвержденные по домену. SSLИдеально подходит для большинства веб-сайтов и приложений. Рассмотрите возможность приобретения платного OV/EV-сертификата, если вам требуется проверка организации, частные цепочки доверия или строгие требования поставщика (некоторые устаревшие среды, встроенные системы/IoT или системы соответствия стандартам). Если вы размещаете свой сайт на хостинге... YouStableНаша команда поможет вам выбрать подходящий вариант. SSL и развернуть его от начала до конца.
Почему стоит размещать свои проекты с помощью Hosting? YouStable
On YouStableLet's Encrypt предлагает Linux VPS и выделенные серверы, обеспечивающие бесперебойную работу: развертывание в один клик на поддерживаемых платформах, оптимизированные брандмауэры, поддержка HTTP/2/3 и круглосуточная помощь экспертов в решении проблем с продлением лицензий. DNS‐01 автоматизация или крайние случаи использования обратного прокси-сервера. Сосредоточьтесь на росте, а мы обеспечим вашу безопасность. SSL быстро, безопаснои актуальный.
Часто задаваемые вопросы: Настройка Let's Encrypt в Linux (2026)
Действительно ли Let's Encrypt бесплатен и безопасен?
Да. Let's Encrypt — это бесплатный, автоматизированный и открытый центр сертификации, которому доверяют все основные браузеры . Он выдает сертификаты с проверкой домена, используя протокол ACME с надежными средствами контроля безопасности. Эти сертификаты обладают такой же криптографической стойкостью, как и платные сертификаты с проверкой домена.
Как настроить автоматическое продление сертификатов Let's Encrypt?
При установке через Snap, Certbot устанавливает таймер systemd для обновления сертификата дважды в день и перезагрузки веб-сервера. Проверьте с помощью systemctl list-timers | grep certbot и проверить sudo certbot renew --dry-runДля пользовательских настроек добавьте хук развертывания для перезагрузки. Nginx/Apache после продления.
В чём разница между HTTP-01 и DNS-01 задач?
HTTP-01 подтверждает контроль, передавая токен по протоколу HTTP на вашем домене — это просто и автоматически для отдельных хостов. DNSПараметр -01 подтверждает контроль путем добавления записи TXT — это необходимо для использования символов подстановки, многорегиональных соединений или при блокировке HTTP. DNS-01 может быть полностью автоматизирован с помощью плагинов поставщика.
Как получить подстановочный символ? SSL сертификат?
Использовать DNS-01 задача: certbot certonly --manual --preferred-challenges dns -d example.com -d '*.example.com'или автоматизировать с помощью DNS плагин (например, Cloudflare(маршрут 53). Направьте свой DNS API-токен передается в Certbot, и продление сертификатов происходит автоматически.
Почему мой HTTP-запрос не проходит, несмотря на то, что DNS Выглядит правильно?
К распространенным причинам относятся блокировка порта 80 брандмауэром, AAAA (IPv6) указывая в другое место, вмешиваясь в работу прокси-серверов CDN или перенаправляя пути ACME. Убедитесь, что ) /.well-known/acme-challenge/ Предоставляется без аутентификации/перенаправлений, и записи A и AAAA нацелены на ваш сервер-эмитент.
Выполнив эти шаги, вы сможете уверенно настроить Let's Encrypt на любом устройстве. Linux-сервер и поддерживать надежное автоматизированное HTTPS-соединение в 2026 году и в последующие годы. Если вам нужна настройка и мониторинг под руководством экспертов, YouStableИнженеры компании могут сделать это за вас.
