
Установка сертификата SSL в CentOS
Для того чтобы настроить WEB-сервер с SSL шифрованием вам необходимо установить OpenSSL и mod_ssl. Для этого мы сделаем следующее:
# yum install mod_ssl openssl
Создадим самоподписанный сертификат
Нужно использовать OpenSSL для создания самоподписанного сертификата.
Чтобы создать ключ который будет использоваться в сертификате, мне понадобится права root:
Создим приватный ключ
# openssl genrsa -out ca.key 1024
Создим CSR (Certificate signing request)
# openssl req -new -key ca.key -out ca.csr
Создим самоподписанный ключ (допустим на 1 год — 365 дней)
# openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
После того как ключик(и) был сгенерирован, необходимо скопировать (положить в нужное место) его/их:
# cp ca.crt /etc/pki/tls/certs # cp ca.key /etc/pki/tls/private/ca.key # cp ca.csr /etc/pki/tls/private/ca.csr
Поправим сейчас файлик с конфигурацией сертификатов, нам нужно найти строчку «SSLCertificateFile» в файле ssl.conf который лежит по пути /etc/httpd/conf.d/, сделать можно это так:
Если Вы фанат текстового редактора «vi»:
# vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf
Но я использую текстовый редактор «ee», по этому:
# ee /etc/httpd/conf.d/ssl.conf
В этом файлике нужно раскомментировать необходимые строки, в моем случае это:
SSLCertificateFile /etc/pki/tls/certs/ca.crt # путь к файлу ключа (Certificate Key File) SSLCertificateKeyFile /etc/pki/tls/private/ca.key # путь к файлу приватных ключей
Сохраняемся и ребутнул Apache:
# /etc/init.d/httpd restart
Проверим работу сертификата который использует протокол https:
https://192.168.77.113/
У вас будет другой адрес, адрес(ServerName) который Вы прописывали в конфиге апача. После того как перейдете по своему адресу вам будет показано сообщение чтобы Вы подтвердили данный сертификат.
Если вы используете виртуальные хосты, то необходимо прописать сертификаты в них:
<VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/pki/tls/certs/ca.crt SSLCertificateKeyFile /etc/pki/tls/private/ca.key # Установка сертификата SSL в CentOS <Directory /var/www/vhosts/test.com/httpsdocs> AllowOverride All </Directory> DocumentRoot /var/www/vhosts/test.com/httpsdocs ServerName test.com </VirtualHost>
После чего нужно ребутнуть апачик:
# /etc/init.d/httpd restart
Возможно Вам понадобится прописать в iptables (в вашем фаерволе) правило для данного порта (443), который использует https:
# iptables -A INPUT -p tcp --dport 443 -j ACCEPT # /sbin/service iptables save # iptables -L -v
Установка сертификата SSL в CentOS выполнена. Коротко и понятно.