Настройка HTTPS

Материал из Wiki МИАЦ ВО
Версия от 16:57, 14 мая 2009; Misha (обсуждение | вклад) (Создание саподписанного SSL сертификата)
Перейти к навигации Перейти к поиску

Создание саподписанного SSL сертификата

Делаем следующее:

# cd /etc/ssl
# mkdir db
# mkdir ca
# mkdir clients
# touch /etc/ssl/db/index.txt
# echo "01" > /etc/ssl/db/serial

Создаем скрипт для создания нашего самоподписанного доверенного сертификата (CA) /etc/ssl/make_ca.sh :

#!/bin/sh
openssl req -new -newkey rsa:4096 -nodes -keyout ./ca/ca.key -x509 -days 3650 \
   -subj /C=RU/ST=Russia/L=Vologda/O=MIAC/OU=MEDIC/CN=volmed.org.ru/emailAddress=misk@volmed.org.ru \ 
   -out ./ca/ca.crt

Где:
rsa - длина ключа (4096),
-days - Период действия сертификата, в нашем случае 10 лет
/CN - адрес нашего сервера, например volmed.org.ru,
/O - Имя организации, например MIAC,
/OU - Имя подразделения, например MEDIC,
Остальное и так понятно.

Запускаем скрипт make_ca.sh. Какое-то время он будет возиться с генерацией секретного ключа длиной в 4096 бит, на слабой машине это займет время... можете уменьшить длину ключа до 1024 или 2048 бит, если очень не терпится все поскорее попробовать. В итоге мы получим два файла в каталоге /etc/ssl/ca:
ca.crt - это наш самоподписанным доверенный сертификат, и
ca.key - его секретный ключ.

Создание файла конфигурации

Создаем файл /etc/httpd/conf/vhost.d/server.conf

NameVirtualHost *:443
#Listen 443
<VirtualHost *:443>
ServerName volmed.org.ru
#ServerAlias  volmed.org.ru
#Alias "/update" "/var/www/html/new"
DocumentRoot "/var/www/html/new"
ErrorLog /var/log/httpd/update-error.log
TransferLog /var/log/httpd/update-access.log
CustomLog /var/log/httpd/update-access_log common
    SSLEngine on
    SSLCertificateFile /etc/ssl/ca/ca.crt
    SSLCertificateKeyFile /etc/ssl/ca/ca.key
</VirtualHost>

где

Название Описание
ServerName имя нашего сервера, то же что и при создании сертификата<br\>
DocumentRoot Путь до корня сайта