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-сертификатах. Превращает сложные темы кибербезопасности в понятный, увлекательный контент. Вносите свой вклад в повышение уровня цифровой безопасности с помощью впечатляющих рассказов.