- Что такое SSL-сертификат
- Как установить SSL-сертификат на сервер Apache
- Настройка Apache
- Настройка редиректа
- Как проверить работу SSL-сертификата
В этой статье мы расскажем о том, как установить SSL-сертификат на Apache. Но сначала дадим понятие SSL-сертификата и объясним, как он устроен.
Что такое SSL-сертификат
SSL-сертификат — это цифровой документ, который хранит в себе информацию о домене и его владельце. Если вы переходите на ресурс и видите значок замка и https:// в адресной строке браузера, значит, на сайте используется SSL-сертификат.
Главное назначение сертификата безопасности — защитить данные от перехвата третьими лицами. Это возможно благодаря криптографическому протоколу TLS — «современнику» SSL-протокола (protocol SSL), в честь которого SSL-сертификат получил название. Он шифрует данные перед их передачей.
Помимо этого SSL-сертификаты используются, чтобы:
- сохранить целостность данных при передаче — при использовании SSL-сертификата они не потеряются и не изменятся,
- подтвердить подлинность ресурса — так как центр сертификации проводит проверку домена и его администратора на существование, SSL-сертификат выдается только проверенным сайтам.
После установки SSL-сертификата сайт начинает работу по протоколу HTTPS, который поддерживает шифрование информации и работает поверх криптографического TLS.
В чем отличие TLS от HTTPS? TLS кодирует передаваемые данные, а HTTPS — канал, по которому они передаются.
SSL-сертификат необходим для сайта, на котором пользователи оставляют личные данные (например, номер телефона или email) или указывают данные банковских карт для оплаты.
Как установить SSL-сертификат на сервер Apache
В первую очередь потребуется заказать SSL-сертификат и после выпуска, скачать все его части:
- сертификат
- приватный ключ
- промежуточный сертификат
- корневой сертификат
После этого нужно выполнить команду:
Если вывод похож на:
переходите к шагу Настройка Apache
Устанавливаем httpd ssl_module, выполнив команду:
Для CentOS:
yum install mod_ssl
Для Ubuntu/Debian:
a2enmod ssl
Для FreeBSD:
Открываем файл конфигурации apache:
* для версии apache 2.4.
Далее снимаем комментарии со следующих строчек:
LoadModule ssl_module libexec/apache24/mod_ssl.so
...
Include etc/apache24/extra/httpd-ssl.conf
...
И указываем комментарии в следующих строках:
#SSLRandomSeed startup builtin
#SSLRandomSeed connect builtin
#</IfModule>
Чтобы настройки применились, необходимо перезапустить веб-сервер одной из команд:
systemctl restart httpd используется в системах на базе RPM
systemctl restart apache2 используется в системах на базе DEB
service apache2 restart используется в системах на базе BSD
Настройка Apache
Выйдите из папки ssl:
Откройте файл с настройкой виртуальный доменов:
Для CentOS:
vi conf.d/site.conf
site.conf — конфигурационный файл для конкретного сайта
Для Ubuntu/Debian:
vi sites-enabled/site
Для FreeBSD:
ee extra/httpd-vhosts.conf
В открытый файл добавляем следующее:
ServerName site.ru
DocumentRoot /var/www/apache/data
SSLEngine on
SSLCertificateFile ssl/cert.pem
SSLCertificateKeyFile ssl/cert.key
#SSLCertificateChainFile ssl/cert.ca-bundle
</VirtualHost>
Где:
- ServerName — домен сайта
- DocumentRoot — расположение файлов сайта в системе
- SSLCertificateFile и SSLCertificateKeyFile — пути до файлов ключей, если используется самоподписанный сертификат
- SSLCertificateChainFile — путь до цепочки сертификатов
Проверяем настройки в Apache:
apachectl configtest
Если видим: Syntax OK
Перечитываем конфигурацию apache:
apachectl graceful
Настройка редиректа
Чтобы все запросы по http автоматически перенаправлялись на https, необходимо настроить перенаправление (redirect). Как это сделать описано в нашей инструкции.
Как проверить работу SSL-сертификата
Проверить работу сертификата можно с помощью онлайн-сервисов. В качестве примера рассмотрим домен sweb.ru и сервис проверки SSLShopper.
Чтобы убедиться в том, что SSL-сертификат работает корректно:
- Перейдите на сайт sslshopper.com
- Введите доменное имя и кликните Check SSL:
- Убедитесь в том, что все пункты списка отмечены зеленой галочкой:
- Проверьте валидность всех компонентов SSL-сертификата:
Если на одном из этапов проверки возникает ошибка, проверьте:
- активен ли сам сертификат — возможно, он требует продления,
- корректно ли прошла установка.
Если вы не наблюдаете видимых проблем или возникли сложности при настройке сертификата, обратитесь в службу поддержки.