Перейти к основному содержимому

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

Вы можете установить SSL-сертификат на сервер Apache, чтобы обеспечить поддержку безопасного доступа по HTTPS. В этой статье описано, как установить SSL-сертификат на сервер Apache.

Примечание

В качестве примера версии Apache в этом документе используется Apache/2.4.6. Перед установкой убедитесь, что порт 443 не занят. Если порт 443 уже используется, при установке сертификата привяжите другой порт.

Получение сертификата

  1. После выпуска сертификата мы предоставим вам файл сертификата в сжатом формате (.zip). Архив содержит четыре папки, соответствующие четырём форматам сертификатов: Tomcat, Nginx, IIS, Apache; для сервера Apache необходимо использовать сертификат из папки Apache.
  2. Папка Apache содержит три файла:
  • domain_com.crt файл сертификата
  • domain_com.key файл закрытого ключа
  • domain_com.ca-bundle файл цепочки сертификатов

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

  1. Скопируйте полученные файл сертификата domain_com.crt, файл закрытого ключа domain_com.key и файл цепочки сертификатов domain_com.ca-bundle из локального каталога в каталог /etc/httpd/ssl на сервере Apache.
Примечание
  • Если каталог /etc/httpd/ssl не существует, его можно создать с помощью команды mkdir -p /etc/httpd/ssl
  • Между разными версиями могут быть различия, в некоторых Apache каталог может называться /etc/apache2
  1. Проверьте файл конфигурации httpd.conf в каталоге /etc/httpd/conf, найдите директиву Include conf.modules.d/*.conf и убедитесь, что она не закомментирована. Если она закомментирована, удалите символ комментария (#) в начале строки и сохраните файл конфигурации.
  2. Проверьте файл конфигурации 00-ssl.conf в каталоге /etc/httpd/conf.modules.d, найдите инструкцию конфигурации LoadModule ssl_module modules/mod_ssl.so и убедитесь, что эта инструкция не закомментирована. Если она закомментирована, удалите символ комментария (#) в первой строке и сохраните файл конфигурации.
Примечание

Если LoadModule ssl_module modules/mod_ssl.so не найден в указанном выше файле конфигурации, проверьте, установлен ли модуль mod_ssl.so. Если модуль mod_ssl.so не установлен, вы можете установить его, выполнив команду yum install mod_ssl.

  1. Отредактируйте файл конфигурации ssl.conf в каталоге /etc/httpd/conf.d. Измените следующее содержимое:
<VirtualHost *:443>
DocumentRoot /var/www/html
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/httpd/ssl/domain_com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/httpd/ssl/domain_com.key
#证书链文件的路径
SSLCertificateChainFile /etc/httpd/ssl/domain_com.ca-bundle
</VirtualHost>
  1. После сохранения файла конфигурации перезапустите сервер Apache.

Проверка SSL-сертификата

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

Эффект SSL-сертификата

Настройка безопасности для автоматического перенаправления HTTP на HTTPS (необязательно)

Если вам нужно автоматически перенаправлять HTTP-запросы на HTTPS, вы можете выполнить следующие действия:

  1. Отредактируйте файл конфигурации /etc/httpd/conf в каталоге httpd.conf. Проверьте, есть ли в этом файле конфигурации LoadModule rewrite_module modules/mod_rewrite.so. Если есть, удалите символ комментария (#) в начале строки; если нет, добавьте строку LoadModule rewrite_module modules/mod_rewrite.so и сохраните файл конфигурации.
  2. Откройте файл http.conf и добавьте в файл конфигурации следующее:
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost>
  1. Перезапустите сервер Apache, после чего можно будет использовать домен для доступа, и будет реализован автоматический переход с HTTP на HTTPS.