Установка SSL/TLS сертификата на веб-сервер: пошаговое руководство для Nginx, Apache и IIS (2026) | AdminWiki

Установка SSL/TLS сертификата на веб-сервер: пошаговое руководство для Nginx, Apache и IIS (2026)

08 сентября 2026 6 мин. чтения
Содержание статьи

Введение: зачем нужен SSL/TLS и что вы получите из этой статьи

SSL/TLS сертификат шифрует трафик между браузером пользователя и веб-сервером, защищая данные от перехвата. Он подтверждает подлинность сайта, что критично для любых проектов, обрабатывающих персональные данные, платежи или корпоративную информацию. Без HTTPS браузеры помечают сайт как небезопасный, а поисковые системы понижают его в выдаче.

Эта статья содержит проверенные команды и конфигурации для установки сертификатов на Nginx, Apache и IIS. Вы получите готовые решения для генерации CSR, выбора типа сертификата, настройки виртуальных хостов и автоматического продления через ACME. Все примеры актуальны на 2026 год и протестированы на стабильных версиях ПО.

Если вам нужна более глубокая настройка безопасности после установки, обратитесь к руководству по комплексной защите Nginx и Apache.

Подготовка к установке: выбор сертификата и генерация CSR

Перед получением сертификата определите, какой тип вам нужен, и сгенерируйте запрос на подпись (CSR). CSR содержит информацию о домене и организации, которую удостоверяющий центр проверит перед выпуском сертификата.

Типы SSL/TLS сертификатов: DV, OV, EV, Wildcard, SAN

ТипУровень проверкиСрок выпускаПокрытие доменовТипичное применение
DV (Domain Validation)Проверка владения доменомНесколько минутОдин доменЛичные сайты, блоги, тестовые среды
OV (Organization Validation)Проверка домена и организации1-3 дняОдин доменСайты компаний, корпоративные порталы
EV (Extended Validation)Расширенная проверка организации3-5 днейОдин доменБанки, финансовые сервисы, крупный e-commerce
WildcardDV или OVКак у базового типаОсновной домен и все поддомены (*.example.com)Сервисы с множеством поддоменов (например, api.example.com, admin.example.com)
SAN (Multi-Domain)DV или OVКак у базового типаНесколько разных доменов (example.com, example.net)Объединение нескольких сайтов на одном сервере

Для большинства проектов достаточно DV-сертификата. Если нужно защитить несколько поддоменов, выбирайте Wildcard. Для нескольких разных доменов подойдёт SAN.

Генерация CSR и закрытого ключа с помощью OpenSSL

CSR и закрытый ключ генерируются одной командой OpenSSL. Закрытый ключ должен храниться в безопасном месте и никогда не передаваться третьим лицам.

openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr

Параметры:

  • -new - создать новый CSR.
  • -newkey rsa:2048 - сгенерировать новый закрытый ключ RSA длиной 2048 бит.
  • -nodes - не шифровать закрытый ключ паролем (удобно для автоматизации, но менее безопасно).
  • -keyout domain.key - файл для закрытого ключа.
  • -out domain.csr - файл для CSR.

После выполнения команды ответьте на вопросы: Common Name (домен, например, example.com), Organization, Organizational Unit, City, State, Country. Для Wildcard укажите *.example.com.

Проверьте права на файл ключа:

chmod 600 domain.key

Получение SSL/TLS сертификата: от УЦ или через Let's Encrypt

Есть два пути: купить сертификат у коммерческого удостоверяющего центра или получить бесплатный через Let's Encrypt. Let's Encrypt подходит для большинства задач, но имеет ограничение: срок действия 90 дней и только DV-проверка.

Заказ сертификата в удостоверяющем центре

  1. Выберите УЦ (например, DigiCert, Sectigo, GlobalSign) и тариф.
  2. Заполните данные организации и домена.
  3. Вставьте содержимое файла domain.csr в соответствующее поле.
  4. Подтвердите владение доменом: по email (на адрес admin@domain.com), через DNS-запись или HTTP-файл.
  5. Получите архив с файлами: сертификат домена (domain.crt), промежуточные сертификаты (ca_bundle.crt), корневой сертификат.

Для Nginx и Apache часто нужно объединить сертификат домена и цепочку в один файл:

cat domain.crt ca_bundle.crt > fullchain.crt

Бесплатные сертификаты Let's Encrypt: автоматизация через ACME

Let's Encrypt использует протокол ACME для автоматического выпуска и продления. Самый популярный клиент - Certbot. Установите его и выполните команду для получения сертификата без автоматической настройки сервера:

certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com

Для автоматической настройки Nginx или Apache используйте плагины:

certbot --nginx -d example.com

или

certbot --apache -d example.com

Certbot сохранит сертификаты в /etc/letsencrypt/live/example.com/. Подробнее о настройке Let's Encrypt читайте в отдельном руководстве.

Установка SSL/TLS сертификата на Nginx

Nginx использует директивы ssl_certificate и ssl_certificate_key в блоке server. Рекомендуется настроить отдельный server block для порта 443.

Настройка виртуального хоста для HTTPS

Пример конфигурации /etc/nginx/sites-available/example.com:

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate /etc/ssl/certs/fullchain.crt;
    ssl_certificate_key /etc/ssl/private/domain.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    root /var/www/html;
    index index.html;
}

Объяснение директив:

  • listen 443 ssl - слушать порт 443 с SSL.
  • ssl_certificate - путь к файлу полной цепочки (сертификат + промежуточные).
  • ssl_certificate_key - путь к закрытому ключу.
  • ssl_protocols - разрешённые протоколы. В 2026 году используйте только TLS 1.2 и 1.3.
  • ssl_ciphers - набор шифров. Указанный набор безопасен и совместим.

После сохранения проверьте конфигурацию и перезагрузите Nginx:

nginx -t
systemctl reload nginx

Перенаправление HTTP на HTTPS

Добавьте отдельный server block для порта 80, который будет перенаправлять все запросы на HTTPS:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Это обеспечит автоматический переход пользователей и поисковых систем на защищённую версию.

Установка SSL/TLS сертификата на Apache

Apache требует включения модуля SSL и настройки виртуального хоста для порта 443.

Настройка виртуального хоста с SSL

Включите модуль SSL:

a2enmod ssl

Создайте файл конфигурации /etc/apache2/sites-available/example.com-ssl.conf:


    ServerName example.com
    ServerAlias www.example.com

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/domain.crt
    SSLCertificateKeyFile /etc/ssl/private/domain.key
    SSLCertificateChainFile /etc/ssl/certs/ca_bundle.crt

    DocumentRoot /var/www/html

Активируйте сайт и перезапустите Apache:

a2ensite example.com-ssl.conf
systemctl restart apache2

Редирект с HTTP на HTTPS

В файле /etc/apache2/sites-available/example.com.conf (виртуальный хост для порта 80) добавьте:


    ServerName example.com
    Redirect permanent / https://example.com/

Либо используйте mod_rewrite:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Установка SSL/TLS сертификата на IIS

IIS хранит сертификаты в хранилище Windows. Необходимо импортировать сертификат с закрытым ключом в формате PFX или импортировать отдельно сертификат и ключ.

Импорт сертификата в хранилище Windows

Если у вас есть PEM-файлы, преобразуйте их в PFX:

openssl pkcs12 -export -out domain.pfx -inkey domain.key -in domain.crt -certfile ca_bundle.crt

Откройте оснастку «Сертификаты» (certlm.msc) от имени администратора. Перейдите в раздел «Личное» -> «Сертификаты». Правой кнопкой мыши -> «Все задачи» -> «Импорт». Укажите путь к PFX-файлу и пароль (если задан).

Привязка сертификата к сайту

  1. Откройте IIS Manager.
  2. Выберите сайт в дереве слева.
  3. На панели справа нажмите «Привязки» (Bindings).
  4. Нажмите «Добавить», выберите тип «https», порт 443.
  5. В поле «SSL-сертификат» выберите импортированный сертификат.
  6. Нажмите «ОК».

Проверьте работу сайта по HTTPS.

Настройка автоматического продления сертификатов

Сертификаты Let's Encrypt действительны 90 дней. Настройте автоматическое продление, чтобы избежать простоя.

Автопродление с Certbot на Linux

Certbot устанавливает systemd-таймер автоматически. Проверьте его статус:

systemctl status certbot.timer

Если нужно, создайте cron-задачу:

0 3 * * * certbot renew --quiet --deploy-hook "systemctl reload nginx"

Для Apache замените nginx на apache2.

Автопродление на IIS с win-acme

Для Windows используйте клиент win-acme. Скачайте его с официального сайта, запустите и следуйте мастеру. Он создаст задачу в планировщике для автоматического продления и привязки сертификата.

Проверка установки и устранение типичных ошибок

После установки проверьте корректность цепочки сертификатов и работу HTTPS.

Проверка цепочки сертификатов

Выполните команду:

openssl s_client -connect example.com:443 -showcerts

В выводе должны присутствовать сертификат домена, промежуточные и корневой сертификаты. Если промежуточных нет, браузеры будут выдавать ошибку.

Используйте онлайн-сервис SSL Labs (ssllabs.com/ssltest/) для детальной оценки конфигурации.

Частые ошибки и их исправление

  • Ошибка «NET::ERR_CERT_COMMON_NAME_INVALID»: сертификат не соответствует домену. Проверьте, что в CSR указан правильный домен, и сертификат выпущен для него.
  • Ошибка «unable to get local issuer certificate»: отсутствует промежуточный сертификат. Убедитесь, что в конфигурации указан файл полной цепочки (fullchain.crt для Nginx или SSLCertificateChainFile для Apache).
  • Проблемы с правами на файл ключа: Nginx или Apache не могут прочитать ключ. Установите права 600 и владельца root:root.

Если после установки возникают проблемы с безопасностью, обратитесь к руководству по ручной установке с расширенными настройками.

Заключение: поддержание безопасности в актуальном состоянии

Установка SSL/TLS сертификата - первый шаг к защите веб-сервера. Регулярно проверяйте срок действия сертификатов, используйте только TLS 1.2 и 1.3, обновляйте программное обеспечение. Для комплексной защиты настройте заголовки безопасности и WAF, как описано в статье о защите Nginx и Apache.

Если вы управляете несколькими серверами, рассмотрите автоматизацию через ACME-клиенты. Это сэкономит время и исключит человеческий фактор при продлении.

Хостинг для ваших проектов можно выбрать на Timeweb Cloud, где SSL-сертификаты устанавливаются в несколько кликов.

Поделиться:
Сохранить гайд? В закладки браузера