Главная/Установка/SSL на Apache

SSL на Apache: сертификат, ключ и виртуальный хост

SSL на Apache включается в виртуальном хосте порта 443: модуль mod_ssl, директива SSLEngine on и два пути, SSLCertificateFile к сертификату и SSLCertificateKeyFile к приватному ключу. С версии 2.4.8 промежуточные сертификаты кладут в тот же файл, что и ваш.

3 мин чтенияДанные проверены 19 октября 2026

Ответ за 30 секунд

В Apache на одном порту 443 нужно три директивы: SSLEngine on, SSLCertificateFile и SSLCertificateKeyFile. Ключ с паролем не даст Apache стартовать без ввода этого пароля, поэтому для сервера ключ делают без него.

Бесплатный Let's Encrypt или платный от 1 000 ₽ за 6 месяцев на 19 октября 2026, выпуск от 15 минут.

Какие команды нужны именно вашему серверу Apache

01 · 1 мин

Как включить mod_ssl в Apache на Ubuntu и AlmaLinux#

Шифрованием в Apache занимается модуль mod_ssl. Без него директивы SSL в конфиге вызовут ошибку «Invalid command SSLEngine».

СистемаВключение модуляПроверка конфигаПрименение
Debian, Ubuntusudo a2enmod sslsudo apache2ctl configtestsudo systemctl reload apache2
AlmaLinux, Rocky, CentOSsudo dnf install mod_sslsudo apachectl configtestsudo systemctl reload httpd

Тот же сценарий для Nginx устроен проще, там нет отдельного модуля: SSL на Nginx.

02 · 1 мин

Как выглядит VirtualHost на порту 443 в Apache#

Создайте файл сайта, например /etc/apache2/sites-available/example.com-ssl.conf на Debian или /etc/httpd/conf.d/example.com-ssl.conf на AlmaLinux, и опишите в нём порт 443.

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

    SSLEngine on
    SSLCertificateFile    /etc/ssl/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/ssl/example.com/example.com.key
</VirtualHost>

На Debian сайт после этого включают командой sudo a2ensite example.com-ssl.conf. В документации Apache сказано, что файл с ключом должен принадлежать root и читаться только им. Остальным пользователям сервера он не нужен.

Ключ с паролем остановит запуск

Если ключ зашифрован паролем, Apache запросит его при каждом старте и перезапуске, поэтому сервер не поднимется сам после перезагрузки машины. Для сервера используйте ключ без пароля и держите его в закрытом каталоге: как хранить приватный ключ.

03 · 1 мин

Куда в Apache класть промежуточные сертификаты#

Браузеру нужен не только ваш сертификат, но и промежуточные, по которым он дойдёт до корневого. Где их указать, зависит от версии Apache.

ВерсияЧто делать
2.4.8 и новееДописать промежуточные в файл из SSLCertificateFile после вашего сертификата, от нижнего к корню
Старше 2.4.8Указать пакет промежуточных отдельной директивой SSLCertificateChainFile

В документации директива SSLCertificateChainFile помечена устаревшей именно с версии 2.4.8. Готовый fullchain.pem от Certbot уже собран в нужном порядке. Что такое цепочка и почему без неё ругаются телефоны: цепочка сертификатов.

04 · 1 мин

Как перенаправить порт 80 на HTTPS в Apache#

Для старых адресов с http:// оставьте виртуальный хост порта 80, который только переадресует посетителя.

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

Директива Redirect permanent отдаёт код 301 и сохраняет путь запроса: адрес /blog/ откроется по https как https://example.com/blog/. Через .htaccess и для WordPress тот же результат даёт другая запись, она разобрана на странице редирект на https.

Инструмент · 1 мин

Какие команды нужны именно вашему серверу Apache#

Пути и команды зависят от дистрибутива и от того, откуда сертификат. Ответьте на два вопроса.

Команды для вашего сервера Apache

Два вопроса, и подсказка назовёт нужные команды и файлы

Система
Откуда сертификат

После перезагрузки откройте сайт по https и проверьте срок и цепочку: как проверить SSL-сертификат. Если Apache на сервере с 1С, схема та же, меняются только пути.

06 · 1 мин

Вопросы о подключении SSL к Apache#

Какие директивы нужны для SSL на Apache?

Три: SSLEngine on, SSLCertificateFile с путём к сертификату и SSLCertificateKeyFile с путём к ключу. Все они стоят в блоке VirtualHost порта 443.

Нужна ли директива SSLCertificateChainFile в Apache 2.4?

Начиная с 2.4.8 нет: промежуточные сертификаты добавляют в файл из SSLCertificateFile, а директиву документация называет устаревшей.

Почему Apache просит пароль при запуске с SSL?

Приватный ключ защищён паролем. Apache запрашивает его на старте, поэтому для сервера выпускают ключ без пароля или снимают защиту командой openssl rsa с правами только для root.

Как проверить конфиг Apache перед перезагрузкой с SSL?

На Debian и Ubuntu командой apache2ctl configtest, на AlmaLinux и Rocky командой apachectl configtest. Ответ «Syntax OK» значит, что файл читается.

Почему этому можно верить

Как мы проверяли

Документация и провайдерыКоманды выпуска и установки сверены с документацией, дата указана.
Всё можно повторитьКоманды certbot и openssl описаны так, что их повторит любой читатель.
Независимый справочникНе связан с центрами сертификации и честно говорит, когда хватает бесплатного SSL.

Источники цифр на этой странице: SSL-сертификаты Таймвеб, timeweb.com/ru/services/domains/ssl, проверено 19 октября 2026; Let's Encrypt: документация, letsencrypt.org/docs, проверено 19 октября 2026; Apache HTTP Server 2.4: модуль mod_ssl (SSLCertificateFile, SSLCertificateKeyFile, SSLCertificateChainFile), httpd.apache.org/docs/2.4/mod/mod_ssl.html, проверено 19 октября 2026.

SBРедакция SSLBase · обновлено 19 октября 2026

Подключите SSL к сайту

От бесплатного Let's Encrypt до платных сертификатов GlobalSign с гарантийной выплатой и установкой под ключ. Любой можно вернуть за 7 дней.

  • Бесплатный Let's Encrypt на домен
  • Платные от 1 000 ₽ за 6 месяцев
  • Wildcard на все поддомены
  • 7 дней на возврат
Выбор