Apache + SSL (Win32)

Установка и настройка веб-серверов и серверов приложений

Apache + SSL (Win32)

Сообщение Rostov114 » 21 фев 2008, 14:40

:) Вот себе сделал и всем поведаю...
По просьбе zk добавляю для чего он нужен и что это вообше
Для чего нужен SSL
Основное назначение протокола защиты состоит в следующем:
  • Аутентификация сервера, гарантирующая пользователям, что они попали именно на тот узел Web, который хотели посетить.
  • Подтверждение легитимности компании и её юридического адреса.
  • Создание защищенного SSL сертификатом канала, благодаря которому информация может передаваться между клиентом и сервером в закодированном виде, с целью предотвращения искажения и потери данных во время пересылки.

Что такое SSL
SSL (англ. Secure Sockets Layer - протокол защищённых сокетов) - криптографический протокол, обеспечивающий безопасную передачу данных по сети Интернет. При его использовании создаётся защищённое соединение между клиентом и сервером.
Для доступа к страницам, защищённым протоколом SSL, в URL вместо обычного префикса http, как правило, применяется префикс https (порт 443), указывающий на то, что будет использоваться SSL соединение.

Нус начнем.
Подготовка
1. Нам нужен Apache поддерживавший SSL (если вы используете TopServer можете его прямиком выкинуть в корзину). Вот магнет но я по нему ничего не нашел... а так можно скачать с русского сайта. Сдесь мы будем качать apache_2.2.8-win32-x86-openssl-0.9.8g.msi , тоесть самый свежый Apache с OpenSSL(спасибо HSDN за зеркало сайта OpenSSL, очень помог).
2. Устанавливаем...
Настройка Apache
3. Открываем httpd.conf (если вы не знаете где он находится статью сразу можете закрыть...)
Находим #LoadModule ssl_module modules/mod_ssl.so и снимаем с него комментарий также...ниже...находим #Include conf/extra/httpd-ssl.conf и тоже снимаем комментарий.
3.1Дальше идем в папку extra(лежит в том же каталоге где и httpd.conf) и находим httpd-ssl.conf открываем там находим строчку SSLMutex default если она найдена то все хорошо...далее находим строчку /server.crt (она там одна) потом смотрим правильно ли идет путь к папке conf если не правильно то прийдется править весь фаил.....если правильно то заменяем /server.crt на /server.der.crt(если этого не сделаете Apache не запустится...будет выдавать ошыбку что фал пуст или его нету....) также смотрим эти значения
Код: Выделить всёРазвернуть
#   General setup for the virtual host
DocumentRoot ".../htdocs"
ServerName www.example.com:443
ServerAdmin admin@example.com
ErrorLog ".../logs/error.log"
TransferLog ".../logs/access.log"
вместо http://www.example.com:443 ставим свой сайт а вместо (...) укахуем путь к папке Apache кроме DocumentRoot если вы ее сделали не в папке Apache.
Все сохраняем и закрываем.
Создаем сертификат(свой, оригинальный)
4. Открываем Командная строка или Пуск->Выполнить->cmd
Далее переходим в папку с Apache
5. Вводим команду
Код: Выделить всёРазвернуть
bin\openssl req -config bin\openssl.cnf -new -out my-server.csr

После вводим кодовою фразу, советую воспользоватся генератором паролей и получившейся пароль вставить(категорически не советую короткий циферно-буквенный пароль использовать!!! В генераторе паролей указуйте 99999 вполне оптимальный вариант) в поле...2 раза.
5.1 Вводим дополнительные данные запрос почти послендний запрос (где в скобках написано(YOUR name))вводим имя вашего сайта...на котором думаете использовать SSL.
5.2 Введите пароль...и не забудте его!
6. Далее вводим команду
Код: Выделить всёРазвернуть
bin\openssl genrsa -out conf\privkey.pem 2048

7. После удачного выполнения предыдущей команды вводим
Код: Выделить всёРазвернуть
bin\openssl rsa -in conf\privkey.pem -out conf\server.key

8. После нормального выполнения предыдущей команды вводим
Код: Выделить всёРазвернуть
bin\openssl req -new -key conf\server.key -out conf\server.csr -config conf\openssl.cnf

8.1 вводим такие же данные которые вводили в пункте 5.1 с таким же паролем.
9. Выполняем эту команду
Код: Выделить всёРазвернуть
bin\openssl x509 -in conf\server.csr -out conf\server.cert -req -signkey conf\server.key -days 4000
...она создаст сертификат на 4000 дней тоесть до 2019 года...хотя можно и на год сделать и каждый год новый сертификат создавать.
10. Далее выполняем команду
Код: Выделить всёРазвернуть
bin\openssl x509 -in conf\server.cert -out conf\server.der.crt -outform DER
она то как раз и создаст сертификат...
Перезапускаем Apache
11. Перезапускаем Apache и радуемся...теперь у вас есть SSL и собственный сертификат...
Последний раз редактировалось Rostov114 17 апр 2008, 12:32, всего редактировалось 4 раз(а).
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3198
Зарегистрирован: 18 окт 2007, 02:21

Re: Apache + SSL

Сообщение zk » 21 фев 2008, 19:44

Хорошая статья.

Я бы ещё посоветовал в качестве вступления вкратце написать что это и зачем вообще нужно.
zk
Администратор
 
Сообщения: 1971
Зарегистрирован: 02 сен 2007, 16:04
Домен: vfose.ru

Apache + SSL

Сообщение Костик » 22 фев 2008, 02:47

Беспалезное... зачем в фосе для HOME серверов такая бадья ?
На проф сайтах редко встречаецо https а тут уж и падавно гемароя ненадо, у нас тут другие проблемы ( почему сайт недоступин, как пробросить порт в мадеме и что такое PHP)
FreeBSD 9.2 and Fedora 18 user
Аватара пользователя
Костик
Активный участник
 
Сообщения: 1944
Зарегистрирован: 03 сен 2007, 02:15

Re: Apache + SSL

Сообщение Rostov114 » 22 фев 2008, 08:08

Костик писал(а):Беспалезное... зачем в фосе для HOME серверов такая бадья ?
На проф сайтах редко встречаецо https а тут уж и падавно гемароя ненадо, у нас тут другие проблемы ( почему сайт недоступин, как пробросить порт в мадеме и что такое PHP)

:pardon:

Хэх а че были вопросы что такое PHP?
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3198
Зарегистрирован: 18 окт 2007, 02:21

Re: Apache + SSL (Win32)

Сообщение dll » 04 апр 2010, 13:15

Следуя по этой статья произошли следующие накладки:

среда:
Windows XP SP3
Веб сервер Apache OpenSSL
Версия PHP 5.2.6

настройки в httpd.conf
модуль включён
LoadModule ssl_module modules/mod_ssl.so
раскомментировано
Include conf/extra/httpd-ssl.conf
в httpd-ssl.conf всё сделано согласно инструкциям


ошибки при создании сертификата в консоли

error.JPG
при создании сертификата


файлы privkey.pem и server.re в корневой папке сервера создаются но

после перезапуска сервера в логах ошибки


httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.1 for ServerName
[Sun Apr 04 13:04:01 2010] [warn] pid file H:/OpenSSL/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Sun Apr 04 13:04:01 2010] [notice] Apache/2.2.9 (Win32) PHP/5.2.6 configured -- resuming normal operations
[Sun Apr 04 13:04:01 2010] [notice] Server built: Jun 13 2008 04:04:59
[Sun Apr 04 13:04:01 2010] [notice] Parent: Created child process 2548
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.1 for ServerName
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.1 for ServerName
Изображение
Изображение
Аватара пользователя
dll
Активный участник
 
Сообщения: 179
Зарегистрирован: 17 сен 2008, 11:57
Домен: 3ngels.vfose.ru

Re: Apache + SSL (Win32)

Сообщение Rostov114 » 04 апр 2010, 22:50

:) Это никак не относиться к конфигурированию SSL на Apache.

Тебе сюда: Установка и настройка Apache, PHP и MySQL (Windows)
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3198
Зарегистрирован: 18 окт 2007, 02:21

Re: Apache + SSL (Win32)

Сообщение dll » 04 апр 2010, 23:33

Rostov114, да дело в том что я по той статье и собирал сервер :)
кстати там apache без ssl если что , может какие недочёты в твоей статье по ssl ?
поправь немного статью , может в apache c ssl нужно ещё какие либо настройки делать,
(где в скобках написано(YOUR name) как раз после этого требуется ввести пароль
ввожу пароль , а после происходит такая ошибка что показана на скриншоте.
Изображение
Изображение
Аватара пользователя
dll
Активный участник
 
Сообщения: 179
Зарегистрирован: 17 сен 2008, 11:57
Домен: 3ngels.vfose.ru

Re: Apache + SSL (Win32)

Сообщение Rostov114 » 05 апр 2010, 00:59

dll писал(а):Rostov114, да дело в том что я по той статье и собирал сервер :)
кстати там apache без ssl если что , может какие недочёты в твоей статье по ssl ?
поправь немного статью , может в apache c ssl нужно ещё какие либо настройки делать,
(где в скобках написано(YOUR name) как раз после этого требуется ввести пароль
ввожу пароль , а после происходит такая ошибка что показана на скриншоте.

Читай статью получше. Там не пароль, а адрес сайта нужен.
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3198
Зарегистрирован: 18 окт 2007, 02:21

Re: Apache + SSL (Win32)

Сообщение dll » 05 апр 2010, 01:04

стоооп , я писал

(где в скобках написано(YOUR name) <- как раз после этого требуется ввести пароль
ввожу пароль , а после происходит такая ошибка что показана на скриншоте.

а вот что у тебя в статье написанно

5.1 Вводим дополнительные данные запрос почти послендний запрос (где в скобках написано(YOUR name))вводим имя вашего сайта...на котором думаете использовать SSL.
5.2 Введите пароль...и не забудте его!

а вот в последнем посте сам себе противоречишь , поправь статью.
Изображение
Изображение
Аватара пользователя
dll
Активный участник
 
Сообщения: 179
Зарегистрирован: 17 сен 2008, 11:57
Домен: 3ngels.vfose.ru

Re: Apache + SSL (Win32)

Сообщение Rostov114 » 05 апр 2010, 11:20

dll писал(а):стоооп , я писал

(где в скобках написано(YOUR name) <- как раз после этого требуется ввести пароль
ввожу пароль , а после происходит такая ошибка что показана на скриншоте.

а вот что у тебя в статье написанно

5.1 Вводим дополнительные данные запрос почти послендний запрос (где в скобках написано(YOUR name))вводим имя вашего сайта...на котором думаете использовать SSL.
5.2 Введите пароль...и не забудте его!

а вот в последнем посте сам себе противоречишь , поправь статью.

:) Скоро буду пере собирать BSD сервер, прийдеться сертификаты генерить, аналогия та же. Перепишу статью.
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3198
Зарегистрирован: 18 окт 2007, 02:21

След.

Вернуться в Веб серверы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron