Настройка HTTPS в Apache на Windows 8.1

Автор: genadie от 4-02-2014, 20:41, посмотрело: 16268

0

Представленная статья написана, как продолжение Установка веб-сервера Apache + PHP + MySQL на Windows 8.1 , соответственно все, приведенные там настройки остаются в силе, мы лишь дополним наш веб-сервер защищенным HTTPS-соединением и рассмотрим вопрос как создать самоподписанный SSL-сертификат.
Для начала переходим в C:\server\Apache24\conf и открываем для редактирования файл конфигурации Apache – «httpd.conf»:

Под строкой Listen 172.16.1.3:80

Добавляем строчку:

 

Listen 172.16.1.3:443

Находим и раскоментируем строчку:

LoadModule ssl_module modules/mod_ssl.so

Далее идем в конец фала и видим там блок:

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

Приводим его к следующему виду:

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLMutex default
SSLSessionCache none
</IfModule>

Сохраните изменения и закройте файл "httpd.conf"

 

Теперь откройте файл "C:\server\Apache24\conf\extra\httpd-vhosts.conf" и произведите в нем следующие изменения:

Коментируем созданный нами в прошлой статье блок:

 <VirtualHost local.malwselennaia.ru:80>
   DocumentRoot "C:/sait/local.malwselennaia.ru/www"
   ServerName local.malwselennaia.ru
   ErrorLog "C:/sait/local.malwselennaia.ru/error.log"
   CustomLog "C:/sait/local.malwselennaia.ru/access.log" common
 </VirtualHost>

И вставляем следующее:

<VirtualHost local.malwselennaia.ru:443>
SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key
    DocumentRoot "C:/sait/local.malwselennaia.ru/www"
    ServerName local.malwselennaia.ru
    ErrorLog "C:/sait/local.malwselennaia.ru/error.log"
    CustomLog "C:/sait/local.malwselennaia.ru/access.log" common
</VirtualHost>

Так же добавим блок для перенаправления, если кто-то придёт на сайт по протоколу HTTP:

<VirtualHost local.malwselennaia.ru:80>
    ServerName local.malwselennaia.ru
    Redirect permanent / https://local.malwselennaia.ru
</VirtualHost>

В итоге должно получится как-то так:

 

NameVirtualHost 172.16.1.3:80

<VirtualHost local.malwselennaia.ru:80>
    ServerName local.malwselennaia.ru
    Redirect permanent / https://local.malwselennaia.ru
</VirtualHost>


# <VirtualHost local.malwselennaia.ru:80>
#   DocumentRoot "C:/sait/local.malwselennaia.ru/www"
#   ServerName local.malwselennaia.ru
#   ErrorLog "C:/sait/local.malwselennaia.ru/error.log"
#   CustomLog "C:/sait/local.malwselennaia.ru/access.log" common
# </VirtualHost>

<VirtualHost local.malwselennaia.ru:443>
SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key
    DocumentRoot "C:/sait/local.malwselennaia.ru/www"
    ServerName local.malwselennaia.ru
    ErrorLog "C:/sait/local.malwselennaia.ru/error.log"
    CustomLog "C:/sait/local.malwselennaia.ru/access.log" common
</VirtualHost>

Сохраните изменения и закройте файл "httpd-vhosts.conf"

В данном примере "local.malwselennaia.ru"- имя моего сайта, у себя вставляете свои данные.

DocumentRoot "C:/sait/local.malwselennaia.ru/www"- директория, в которой находится скрипт сайта.

ServerName local.malwselennaia.ru- имя, которое вводим в браузере.

SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key-директория, где лежит сертификат.

 

Далее необходимо создать самоподписанный сертификат и хотя браузеры начнут ругаться, что такой сертификат не является доверенным, но свою задачу выполнять он всё таки будет. И что немаловажно - такой сертификат не будет стоить ни копейки, в отличии от сертификатов, подписанных компаниями-сертификаторами.

Копируем файлик openssl.cnf из каталога C:\server\Apache24\conf в каталог C:\server\Apache24\bin .

Создаем сертификат для нашего сервера.

 Для этого заходим в каталог C:\server\Apache24\bin и открываем командную строку от имени администратора.

 Вводим команду:

openssl

Видим ответ:

OpenSSL>

Теперь вводим следующее:

req -config openssl.cnf -new -out my-server.csr

Видим ответ с предложением ввести пароль:

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

 

Вводим свой пароль и видим предложение ввести пароль еще раз:

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

 

Теперь необходимо ввести название страны (2 буквы кода):

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

Далее нужно ввести Штат или Провинция (необязательный параметр, я оставлю пустым):

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

 

Теперь название местности (оставлю пусто):

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

 

Название организации (опять пропущу):

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

 

Название Подразделения (оставлю пусто):

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

 

Дошли до: "Common Name (e.g. server FQDN or YOUR name) []:" Сдесь нужно прописать свое доменное имя (название сайта, в моем случае это local.malwselennaia.ru):

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

 

Вводим почту админа:

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

 

Вводим пароль:

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

 

Вводим необязательное название компании (оставлю пусто):

Настройка HTTPS в Apache на Windows 8.1

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

После этого в каталоге C:\server\Apache24\bin образуется файлик my-server.csr

Далее последовательно даем команды:

rsa -in privkey.pem -out my-server.key

Видим ответ с предложением ввести пароль:

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

Вводим пароль, получаем ответ:

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

Вводим команду:

x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 365 

Ответ:

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

Вводим команду:

x509 -in my-server.cert -out my-server.der.crt -outform DER

Получаем ответ:

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

Создаем каталог ssl в каталоге C:\server\Apache24\conf и перемещаем туда файлики my-server.key и my-server.cert из каталога C:\server\Apache24\bin .

Перезапускаем Apache.

Вот собственно и все, проверяем результат:

Вводим в браузере:

http://local.malwselennaia.ru/

Получаем вот такой ответ:

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

Жмем "продолжить открытие веб-сайта":

Настройка HTTPS в Apache на Windows 8.1

 

 

 

 

 

Как видим в адресной строке браузера , нас перенаправили уже по протоколу https на страницу входа.

Следовательно все прошло успешно.

Категория: Apache / Виртуальный хостинг / Windows 8

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.