Apache HTTP Server – установка сертификата
28 янв. 2025 г.
Apache HTTP Server – установка сертификата
Введение
Данная статья является пошаговой инструкцией по установке сертификата SSL на Apache HTTP Server. Обратите внимание, что с версии 2.4.8 параметры конфигурации по умолчанию были изменены.
Процесс
- Скопируйте сертификаты на сервер.
Имеется в виду сертификат сервера, приватный ключ и промежуточный сертификат.
Сертификат для вашего сервера можно взять из email либо скачать из вашего аккаунта GlobalSign нажимая опцию Изменить на вашем заказе и копируя сертификат в формате PEM.
Приватный ключ был сгенерирован вместе с запросом на сертификат (CSR) и может уже находиться на вашем сервере. Если приватный ключ утерян, сертификат требуется перевыпустить.
Тип промежуточного сертификата будет зависеть от типа продукта — выберите нужный в разделе промежуточных сертификатов.
- Откройте файл конфигурации Apache для редактирования.
Расположение файла зависит от ОС:
CentOS/RedHat:
/etc/httpd/httpd.conf
/etc/httpd/sites-enabled/name-of-virtualhost.conf
Debian/Ubuntu:/etc/apache2/apache2.conf
/etc/apache2/sites-enabled/name-of-virtualhost.conf
Файл конфигурации может находиться в другой директории — подробнее в Apache Wiki.
- Сконфигурируйте ваш virtual host для работы с сертификатами.
Найдите файл конфигурации хоста для вашего сайта:
<VirtualHost xxx.xxx.x.x:443>
DocumentRoot /var/www/examplesite
ServerName example.com www.example.com
SSLEngine on
SSLCertificateFile /path/to/examplesite.crt
SSLCertificateKeyFile /path/to/privatekey.key
SSLCertificateChainFile /path/to/intermediate.crt
</VirtualHost>
Укажите следующие директивы для работы с сертификатами:
SSLCertificateFile – указание на сертификат сервера.
SSLCertificateKeyFile – указание на приватный ключ.
SSLCertificateChainFile – путь промежуточного сертификата.
Примечание: в версии Apache 2.4.8 вместо директивы SSLCertificateChainFile путь промежуточного сертификата указан в SSLCertificateFile. Добавление промежуточного сертификата к сертификату сервера сформирует цепочку сертификатов.
- Протестируйте обновлённую конфигурацию. Используйте следующую команду в зависимости от ОС:
apachectl configtest
или apache2ctl configtest
Она проинформирует вас о таких ошибках, как несовпадение ключей/неверный путь файлов.
- Перезагрузите сервис Apache.
Для более старых версий Red Hat Enterprise Linux используйте скрипты:
CentOS/RedHat:
service httpd restart
Debian/Ubuntu:
service apache2 restart
Для Red Hat Enterprise Linux 7 или CentOS 7.0:
CentOS/RedHat:
systemctl restart httpd.service
Debian/Ubuntu:
systemctl restart apache2.service
Примечание: некоторые конфигурации Apache могут запросить SSLCACertificateFile. Данное поле следует использовать только в случае использования Apache для аутентификации клиента. Директива SSLCACertificateFile указывает на корневой сертификат удостоверяющего центра, выпустивший сертификат, которые вы используете для аутентификации клиента.