Настройка HTTPS: различия между версиями

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску
(Создание файла конфигурации)
(Создание файла конфигурации)
Строка 58: Строка 58:
 
  |DocumentRoot||Путь до корня сайта
 
  |DocumentRoot||Путь до корня сайта
 
|}
 
|}
 +
Вообще пример данного файла есть в /etc/httpd/conf/vhosts.d/01_default_ssl_vhost.conf. Только у него надо поменять расширение, что бы apache его не цеплял.

Версия 17:07, 14 мая 2009

Создание саподписанного 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
<IfDefine HAVE_SSL>
    <IfModule !mod_ssl.c>
        LoadModule ssl_module   modules/mod_ssl.so
    </IfModule>                                   
</IfDefine>        
#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
<IfModule ssl_module>
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLProtocol all -SSLv2 
    SSLEngine on
    SSLCertificateFile /etc/ssl/ca/ca.crt
    SSLCertificateKeyFile /etc/ssl/ca/ca.key
</IfModule>

</VirtualHost>

где

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

Вообще пример данного файла есть в /etc/httpd/conf/vhosts.d/01_default_ssl_vhost.conf. Только у него надо поменять расширение, что бы apache его не цеплял.