🪔 Распродажа к Дивали: скидки до 80% на хостинг + бесплатный домен
Захватить сделку

Как настроить Let's Encrypt на сервере Linux (Руководство 2026 г.)

Последнее обновление: сентябрь 7, 2026 9 min read Прахлад Праджапати
Как настроить Let's Encrypt на сервере Linux

Для настройки 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 испытаний (сертификаты-джокеры).

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 symlink

RHEL, 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 status

firewalld (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.com

Certbot обновляет файлы вашего виртуального хоста. позволяет 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-run or --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Инженеры компании могут сделать это за вас.

Оставьте комментарий

Ваш адрес электронной почты не будет опубликован. Обязательные поля отмечены *.

Наверх