bg-tutorials

Как установить SSL-сертификат на сервере Debian

Это руководство объясняет как установить SSL-сертификат на сервере Debian с Apache.

Как сгенерировать CSR для сервера Debian?

Перед установкой вашей первой задачей является генерация кода CSR (Certificate Signing Request). Это стандартная процедура при подаче заявки на SSL-сертификат. CSR содержит соответствующие данные о вашем домене и организации, которые Центр Сертификации (CA) должен проверить перед выдачей вам сертификата.

У вас есть два варианта:

  1. Сгенерировать CSR автоматически с помощью нашего генератора CSR.
  2. Следовать нашему пошаговому руководству по созданию CSR на Debian.

Скопируйте весь текст CSR и отправьте его в Центр Сертификации при оформлении заказа. В зависимости от типа проверки, вы должны получить свой SSL-сертификат в течение нескольких минут или, для сертификатов с более высоким уровнем проверки, в течение нескольких дней. После того как CA выдаст его, продолжайте установку ниже.

Шаг 1: Загрузите сертификат и приватный ключ на сервер

Разместите файлы в стандартных для Debian местах. Храните приватный ключ в /etc/ssl/private/ со строгими правами доступа, а сертификат и промежуточный(е) сертификат(ы) объедините в один файл полной цепочки в /etc/ssl/certs/:

# Private key (set strict permissions)
sudo install -m 600 yourdomain.key /etc/ssl/private/yourdomain.key

# Concatenate the server certificate + intermediate(s) into one full-chain file
cat yourdomain.crt intermediate1.crt intermediate2.crt | sudo tee /etc/ssl/certs/yourdomain-fullchain.pem >/dev/null

Если ваш CA предоставил цепочку в виде единого файла ca-bundle, а не отдельных промежуточных сертификатов, используйте этот файл вместо intermediate1.crt intermediate2.crt выше.

В Apache 2.4.8 и более новых версиях этот единый файл полной цепочки — это все, что вам нужно для SSLCertificateFile. Старая директива SSLCertificateChainFile устарела и больше не требуется.

Шаг 2: Включите модуль SSL

Включите модуль SSL Apache (и модуль headers, используемый для HSTS в Шаге 3):

sudo a2enmod ssl
sudo a2enmod headers

Шаг 3: Создайте ваш VirtualHost для HTTPS

Создайте новый файл конфигурации сайта в /etc/apache2/sites-available/:

sudo nano /etc/apache2/sites-available/yourdomain-ssl.conf

Вставьте следующий VirtualHost для порта 443 и настройте пути и имена доменов в соответствии с вашей конфигурацией:

<VirtualHost *:443>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com

    DocumentRoot /var/www/yourdomain

    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/yourdomain-fullchain.pem
    SSLCertificateKeyFile /etc/ssl/private/yourdomain.key

    # Recommended TLS hardening (2026)
    SSLProtocol         -all +TLSv1.2 +TLSv1.3
    SSLHonorCipherOrder off

    # HSTS: uncomment the line below only AFTER you confirm HTTPS works on the
    # domain and every subdomain (includeSubDomains applies to all of them).
    # Reversing HSTS in visitors' browsers is slow, so enable it deliberately.
    # Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

    # Optional: enable HTTP/2
    # Protocols h2 http/1.1

    <Directory /var/www/yourdomain>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog  ${APACHE_LOG_DIR}/yourdomain-ssl-error.log
    CustomLog ${APACHE_LOG_DIR}/yourdomain-ssl-access.log combined
</VirtualHost>
  • SSLCertificateFile — ваш файл полной цепочки (сертификат + промежуточные сертификаты). В Apache 2.4.8+ это заменяет устаревшую директиву SSLCertificateChainFile.
  • SSLCertificateKeyFile — приватный ключ, который вы создали вместе с CSR.

Шаг 4: Настройте принудительное перенаправление с HTTP на HTTPS

Чтобы посетители всегда попадали на защищенную версию сайта, создайте отдельный VirtualHost для порта 80, который перенаправляет весь HTTP-трафик на HTTPS:

sudo nano /etc/apache2/sites-available/yourdomain-redirect.conf

Затем вставьте следующее:

<VirtualHost *:80>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    Redirect permanent / https://yourdomain.com/
</VirtualHost>

Шаг 5: Включите конфигурации ваших сайтов

Включите новый HTTPS-сайт (и перенаправление, если вы его создали). Файлы в sites-enabled/ — это просто символические ссылки на sites-available/:

sudo a2ensite yourdomain-ssl

# If you created the redirect
sudo a2ensite yourdomain-redirect

Шаг 6: Проверьте конфигурацию

Всегда проверяйте конфигурацию перед перезагрузкой, потому что синтаксическая ошибка может привести к отключению сайта:

sudo apache2ctl configtest

Вы должны увидеть Syntax OK. Если возникла ошибка, вернитесь к предыдущим шагам, прежде чем продолжить.

Шаг 7: Перезагрузите сервер Apache

Примените изменения, перезагрузив Apache. Перезагрузка активирует новую конфигурацию без разрыва существующих соединений:

sudo systemctl reload apache2

Вы успешно настроили SSL-сертификат на своем сервере Debian. Вы всегда можете проверить состояние установки SSL с помощью нашего инструмента SSL Checker.

Где купить SSL-сертификат для сервера Debian?

Лучшее место для покупки SSL-сертификата для Debian — SSL Dragon. Мы предлагаем конкурентные цены, регулярные скидки и выгодные предложения по всему ассортименту наших SSL-продуктов. Мы тщательно отобрали лучшие SSL-бренды на рынке, чтобы обеспечить вашему веб-сайту надежное шифрование. Все наши SSL-сертификаты совместимы с Debian.

Часто задаваемые вопросы

Где хранятся SSL-сертификаты в Debian?

По соглашению сертификаты размещаются в /etc/ssl/certs/, а приватные ключи — в /etc/ssl/private/ (ключ должен быть доступен для чтения только root). Это значения по умолчанию; вы можете использовать другие места, если ваш VirtualHost указывает на них.

Как узнать, установлен ли SSL-сертификат на Debian?

Подключитесь к вашему сайту с помощью OpenSSL и прочитайте предоставляемый им сертификат:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Если сертификат установлен, эта команда выведет его издателя и сроки действия. Вы также можете вывести список активных виртуальных хостов Apache с помощью sudo apache2ctl -S, или просто открыть ваш сайт в браузере и проверить значок замка.

Где находится конфигурация сайта Apache на Debian?

Файлы конфигурации сайта находятся в /etc/apache2/sites-available/ (например, yourdomain-ssl.conf), а включенные сайты симлинкуются в /etc/apache2/sites-enabled/. Включите сайт с помощью sudo a2ensite yourdomain-ssl.

Нужен ли мне SSL-сертификат на Debian?

Да. Без SSL-сертификата браузеры помечают ваш сайт как «Небезопасный», а трафик между вашими пользователями и сервером остается незашифрованным. SSL-сертификат шифрует это соединение и фактически является обязательным для любого рабочего веб-сайта.

Итог

Установка SSL-сертификата на Debian с Apache сводится к загрузке файлов, включению mod_ssl, настройке VirtualHost для HTTPS с полным сертификатом цепочки, добавлению перенаправления HTTP→HTTPS, проверке с помощью sudo apache2ctl configtest и перезагрузке Apache. Нужен сертификат в первую очередь? Просмотрите наши SSL-сертификаты.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Детальное изображение дракона в полете
Написано

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

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.