bg-tutorials

Как установить SSL-сертификат на сервере Ubuntu (Apache)

В этом руководстве вы узнаете как установить SSL-сертификат на Ubuntu с Apache.

Мы также записали видео, которое проведет вас через весь процесс. Если вы предпочитаете текстовую версию, продолжайте чтение ниже.

Сгенерируйте код CSR

Начнем с генерации CSR (Certificate Signing Request). CSR — это запрос, отправляемый в центр сертификации для получения цифрового сертификата. У вас есть два варианта:

Отправьте CSR в центр сертификации при оформлении заказа. После того как CA проверит его и выпустит ваш SSL-сертификат, переходите к установке ниже.

Установка SSL-сертификата на Ubuntu Server

Шаг 1: Загрузите файлы сертификата

После проверки центр сертификации отправит вам файлы сертификата по электронной почте. Распакуйте архив. У вас должны быть:

  • yourdomain.crt — ваш основной SSL-сертификат.
  • yourdomain.ca-bundle — промежуточные сертификаты (CA bundle).
  • yourdomain.key — закрытый ключ, созданный вместе с CSR.

Загрузите сертификат и CA bundle в /etc/ssl/, а закрытый ключ — в /etc/ssl/private/ (доступ на чтение ключа должен быть только у root). В Apache 2.4.8 и новее (что включает все поддерживаемые версии Ubuntu) объедините сертификат и CA bundle в один файл полной цепочки:

cat yourdomain.crt yourdomain.ca-bundle > yourdomain_fullchain.crt

Шаг 2: Включите модуль SSL и найдите конфигурацию вашего сайта

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

sudo a2enmod ssl
sudo a2enmod headers

Файл конфигурации вашего сайта находится в /etc/apache2/sites-available/ (обычно yourdomain.conf). Редактируйте файл именно там. Файлы в sites-enabled/ являются лишь символическими ссылками. Если сайт еще не включен, включите его командой:

sudo a2ensite yourdomain.conf

Примечание: обслуживайте HTTP (порт 80) и HTTPS (порт 443) в отдельных блоках VirtualHost. Директивы SSL должны находиться в блоке HTTPS.

Шаг 3: Настройте VirtualHost для HTTPS

Настройте VirtualHost для порта 443. Полный, современный блок выглядит следующим образом; измените пути в соответствии с вашими файлами:

<VirtualHost *:443>
    ServerName  www.yourdomain.com
    DocumentRoot /var/www/yourdomain

    SSLEngine on

    # Apache 2.4.8+ : сертификат + CA bundle в одном файле полной цепочки
    SSLCertificateFile    /etc/ssl/yourdomain_fullchain.crt
    SSLCertificateKeyFile /etc/ssl/private/yourdomain.key

    # Рекомендуемое усиление TLS (2026)
    SSLProtocol         -all +TLSv1.2 +TLSv1.3
    SSLHonorCipherOrder off

    # Включайте HSTS только после подтверждения, что HTTPS работает
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</VirtualHost>
  • SSLCertificateFile: ваш файл полной цепочки (сертификат + промежуточные сертификаты). В Apache 2.4.8+ он заменяет устаревшую директиву SSLCertificateChainFile.
  • SSLCertificateKeyFile: закрытый ключ, созданный вместе с CSR.

Устаревшие версии Apache (старше 2.4.8): оставьте сертификат и цепочку отдельно и добавьте директиву SSLCertificateChainFile /etc/ssl/yourdomain.ca-bundle, указывающую на CA bundle, а не на файл вашего сертификата.

Шаг 4: Перенаправьте HTTP на HTTPS

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

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

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

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

sudo apache2ctl configtest

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

Шаг 6: Перезагрузите Apache

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

sudo systemctl reload apache2

Поздравляем, ваш SSL-сертификат теперь установлен на сервере Ubuntu. Чтобы проверить результат и получить мгновенный отчет о состоянии, используйте наш SSL Checker.

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

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

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

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

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

Куда поместить SSL-сертификат в Ubuntu?

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

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

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

Нужно ли объединять сертификат и CA bundle на Ubuntu?

В Apache 2.4.8 и более поздних версиях (все поддерживаемые версии Ubuntu) — да: объедините ваш сертификат и CA bundle в один файл и укажите на него в директиве SSLCertificateFile. Отдельная директива SSLCertificateChainFile устарела и требуется только в старых версиях Apache.

Итог

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

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

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

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

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