1. Установка необходимого программного обеспечения.
Для настройки WEB-сервера с SSL шифрованием вам нужно, чтобы на сервере были установлены OpenSSL и mod_ssl. В CentOS установка данного ПО может быть выполнена следующей командой:
Используя OpenSSL Мы можем сгенерировать самоподписанный сертификат.
Для создания ключа используемого в сертификате, нам будет необходимы права пользователя root:
Создаем приватный ключ
https://ServerName_or_IP/
вам будет выдано сообщение с просьбой подтвердить, что вы принимаете сертификат.
3. Настройка виртуальных хостов (virtual hosts)
Так же как вы настраивали виртуальные хосты apache для http на порту 80 вы их настраиваете для https на порту 443. Пример:
Запись для VirtualHost с httpd будет выглядеть примерно так:
Так же вам возможно понадобится на фаерволе добавить разрешающее правило для порта 443:
Для настройки WEB-сервера с SSL шифрованием вам нужно, чтобы на сервере были установлены OpenSSL и mod_ssl. В CentOS установка данного ПО может быть выполнена следующей командой:
# yum install mod_ssl openssl2. Создание самоподписанного сертификата
Используя OpenSSL Мы можем сгенерировать самоподписанный сертификат.
Для создания ключа используемого в сертификате, нам будет необходимы права пользователя root:
Создаем приватный ключ
# openssl genrsa -out ca.key 1024Создаем CSR (Certificate signing request)
# openssl req -new -key ca.key -out ca.csrСоздаем самоподписанный ключ
# 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После этого нужно в файле /etc/httpd/conf.d/ssl.conf найти строку с указанием SSLCertificateFile. Если вы используете редактор vi, то сделать это можно так:
# vi +/SSLCertificateFile /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://ServerName_or_IP/
вам будет выдано сообщение с просьбой подтвердить, что вы принимаете сертификат.
3. Настройка виртуальных хостов (virtual hosts)
Так же как вы настраивали виртуальные хосты apache для http на порту 80 вы их настраиваете для https на порту 443. Пример:
<VirtualHost *:80> <Directory /var/www/vhosts/yoursite.com/httpdocs> AllowOverride All </Directory> DocumentRoot /var/www/vhosts/yoursite.com/httpdocs ServerName yoursite.com </VirtualHost>Чтобы добавить такой же сайт на порту 443 вам нужно указать :
MyHost *:443Где вместо MyHost вам нужно указать ваш реальный виртуальный хост.
Запись для VirtualHost с httpd будет выглядеть примерно так:
<VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/pki/tls/certs/ca.crt SSLCertificateKeyFile /etc/pki/tls/private/ca.key <Directory /var/www/vhosts/yoursite.com/httpsdocs> AllowOverride All </Directory> DocumentRoot /var/www/vhosts/yoursite.com/httpsdocs ServerName yoursite.com </VirtualHost>Перезапускаем Apache:
# /etc/init.d/httpd restart4. Настройка фаервола.
Так же вам возможно понадобится на фаерволе добавить разрешающее правило для порта 443:
# iptables -A INPUT -p tcp --dport 443 -j ACCEPT # /sbin/service iptables save # iptables -L -v
Комментариев нет:
Отправить комментарий