Установка SSL-сертификата на сервер Apache2
Вы можете установить SSL-сертификат на сервер Apache, чтобы сервер Apache поддерживал безопасный доступ по HTTPS. В этой статье описывается, как установить SSL-сертификат на сервер Apache.
В этой статье в качестве примера используется версия Apache Apache/2.4.58(ubuntu).
Перед установкой убедитесь, что порт 443 не занят. Если порт 443 уже используется, при установке сертификата привяжите другой порт.
Получение сертификата
- После выпуска сертификата мы выдадим вам файл сертификата (.zip) в сжатом формате. В архиве находятся четыре папки, соответствующие четырём форматам сертификатов: Tomcat, Nginx, IIS, Apache; для сервера Apache необходимо использовать сертификат из папки Apache.
- Папка Apache будет содержать три файла:
domain_com.crtфайл сертификатаdomain_com.keyфайл закрытого ключаdomain_com.ca-bundleфайл цепочки сертификатов
Установка SSL-сертификата
- Скопируйте полученные файл сертификата
domain_com.crt, файл закрытого ключаdomain_com.keyи файл цепочки сертификатовdomain_com.ca-bundleиз локального каталога в каталог/etc/apache2/sslсервера Apache. Примечание:
- Если каталог
/etc/apache2/sslне существует, его можно создать с помощью командыmkdir -p /etc/apache2/ssl - Между разными версиями могут быть отличия, в некоторых случаях каталог Apache может называться
/etc/httpd
- Поскольку Apache читает только файлы конфигурации из
sites-enabled, необходимо создать символическую ссылку
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
- Отредактируйте файл
/etc/apache2/sites-available/default-ssl.confи измените следующее содержимое:
<VirtualHost *:443>
DocumentRoot /var/www/html
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/apache2/ssl/domain_com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/apache2/ssl/domain_com.key
#证书链文件的路径
SSLCertificateChainFile /etc/apache2/ssl/domain_com.ca-bundle
</VirtualHost>
После изменения сохраните файл конфигурации и выполните следующую команду:
a2enmod ssl #加载ssl模块,如果是替换证书可以忽略
apache2ctl configtest #检测配置文件是否报错
apache2ctl restart #重启Apache使配置生效
Тестирование SSL-сертификата
Введите доменное имя, привязанное к SSL-сертификату, в адресную строку браузера, чтобы проверить, успешно ли установлен ваш SSL-сертификат. В случае успеха в адресной строке браузера отобразится значок замка безопасности, нажав на который можно просмотреть информацию о сертификате.

Настройка безопасности автоматического перенаправления HTTP на HTTPS (необязательно)
Если вам необходимо автоматически перенаправлять HTTP-запросы на HTTPS, вы можете выполнить следующие действия:
- Введите в командной строке
a2enmod rewrite, чтобы включить модуль перенаправления. - Затем откройте файл конфигурации http, например:
/etc/apache2/sites-available/000-default.conf, и добавьте в файл конфигурации следующее содержимое:
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost>
- Перезапустите сервер Apache, после чего можно будет использовать доменное имя для доступа, при этом HTTP будет автоматически перенаправляться на HTTPS.