Настройка HTTPS: различия между версиями
Misha (обсуждение | вклад) (→Создание саподписанного SSL сертификата) |
Misha (обсуждение | вклад) (→Создание файла конфигурации) |
||
Строка 27: | Строка 27: | ||
Создаем файл /etc/httpd/conf/vhost.d/server.conf<br \> | Создаем файл /etc/httpd/conf/vhost.d/server.conf<br \> | ||
<pre>NameVirtualHost *:443 | <pre>NameVirtualHost *:443 | ||
+ | <IfDefine HAVE_SSL> | ||
+ | <IfModule !mod_ssl.c> | ||
+ | LoadModule ssl_module modules/mod_ssl.so | ||
+ | </IfModule> | ||
+ | </IfDefine> | ||
#Listen 443 | #Listen 443 | ||
<VirtualHost *:443> | <VirtualHost *:443> | ||
ServerName volmed.org.ru | ServerName volmed.org.ru | ||
− | + | ServerAlias volmed.org.ru | |
#Alias "/update" "/var/www/html/new" | #Alias "/update" "/var/www/html/new" | ||
DocumentRoot "/var/www/html/new" | DocumentRoot "/var/www/html/new" | ||
Строка 36: | Строка 41: | ||
TransferLog /var/log/httpd/update-access.log | TransferLog /var/log/httpd/update-access.log | ||
CustomLog /var/log/httpd/update-access_log common | 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 | SSLEngine on | ||
SSLCertificateFile /etc/ssl/ca/ca.crt | SSLCertificateFile /etc/ssl/ca/ca.crt | ||
SSLCertificateKeyFile /etc/ssl/ca/ca.key | SSLCertificateKeyFile /etc/ssl/ca/ca.key | ||
+ | </IfModule> | ||
+ | |||
</VirtualHost></pre> | </VirtualHost></pre> | ||
где<br \> | где<br \> |
Версия 17:04, 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 | Путь до корня сайта |