По просьбе 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"
Все сохраняем и закрываем.
Создаем сертификат(свой, оригинальный)
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
10. Далее выполняем команду
- Код: Выделить всё • Развернуть
bin\openssl x509 -in conf\server.cert -out conf\server.der.crt -outform DER
Перезапускаем Apache
11. Перезапускаем Apache и радуемся...теперь у вас есть SSL и собственный сертификат...