Переводим сайт на https протокол


В последнее время все больше мода пошла на защищенный (https) протокол. Почти все крупные ресурсы уже перешли на него. Попробуем и мы заставить работать свой сайт по https протоколу.

Тут возникает вопрос где брать сертификаты:

1) сгенерить свой (самоподписанный)

2) купить

3) сгенерить бесплатно

Первый пункт отпадает, так как у пользователей в браузере будет писать «Ваше подключение не защищено» :
Не удалось подтвердить, что это сервер «ваш ресурс». Операционная система компьютера не доверяет его сертификату безопасности.

Возможно, сервер настроен неправильно или кто-то пытается перехватить ваши данные.

Второй вариант нужен тем, кто будет использовать протокол для коммерции, либо тем у кого много лишних денег 🙂

Я выбрал себе 3-й вариант. Погуглив, нашел контору (https://startssl.com/), которая выдает сертификаты бесплатно сроком на 1 год (затем также их можно перевыпускать).

Регистрация в startssl.com

Открываем в браузере адрес: https://startssl.com/SignUp

starssl_1
Тут можно выбрать язык панели (на данный момент доступно 4 языка).

Заполняем форму, указав страну, и емейл и отправляете проверочный код, который придет на указанный вами емайл.

starssl_2

Вводим присланный код, нажимаем кнопку, и пошел процесс

starssl_3

затем появляется такое окно:

starssl_4

Видим сообщение, что сертификат установился на Ваш компьютер. Нажимаем кнопку Login now. И должно появиться окно выбора сертификата:

starssl_5

Если оно не появилось значит что-то пошло не так, попробуйте тогда сменить браузер (хотя я делал это на Crome, Firefox, IE — и все работало)

После того как залогинимся (кстати сертификат лучше забекапить, в случае чего чтобы можно было его восстановить 🙂

Генерация сертификатов на startssl.com

Итак мы решили сгенерить сертификат на домен 984.ru. Сначала мы должны подтвердить владение доменом, жмем на Validations Wizard

starssl_6

выбираем Domain Validation

starssl_7

и жмем continue

starssl_8

вводим имя домена и жмем continue

starssl_9

выбираем на какой ящик прислать Verification Email и жмем Send Verification Code

starssl_10

На почту приходит верификационный код, вводим его в поле Verification code и жмем Validation

В случае успеха, видим:

starssl_11

Сразу можем нажать на кнопку — To «Order SSL Certificate»

На этом шаге вводим имя поддомена (бесплатно дается только 1), например www.984.ru или mail.984.ru (в зависимости от ваших задач)

starssl_12

а также должны ввести Certificate Signing Request (CSR)

Для этого предлагается три варианта :

  1. StartComTool.exe to generate the CSR — здесь необходимо скачать программу и произвести генерацию с ее помощью.
  2. Generated by IE Browser to get .PFX format certificate — генерация с помощью Интернет Експлойера.
  3. Generated by PKI system (я выбрал этот вариант), при этом надо выбрать еще и длину ключа:
  • 2048(Medium)
  • 4096(High) (выберем его :-))

starssl_13

Вводим вашу секретную фразу Private key password:  (и ниже еще раз повторим) — запомните ее. Жмем Submit

Процесс идет: Is generating the private key, please waiting…

Когда приватный ключ сгенерится,  появится всплывающее окно Download private key

starssl_14

И предлагается Вам либо скопировать либо скачать приватный ключ (ssl.key) — тут как вам удобнее 🙂

Когда сохранили себе этот ключ, то жмем Submit — Вас еще раз переспросят сохранили ли вы ключ, жмем Да.

После чего видим сообщение о том, что вам сертификат готов

starssl_15
Жмем на «here» и скачиваем архив, в котором будут архивы с сертификатами на разные случаи. Если вы нажмете на Certificate List, то вы увидите список всех своих сертификатов (а также и дату их действия).
Не забудьте в дальнейшем вовремя их продлить 🙂

starssl_16

Если вы после валидации домена долго думали, то вам придется снова залогиниться, но затем уже в панели можно сразу нажимать Certificates Wizard и снова выпустить сертификат.

Чтобы наш приватный ключ из ——BEGIN ENCRYPTED PRIVATE KEY—— стал ——BEGIN RSA PRIVATE KEY——

  • можем использовать консольную команду openssl openssl rsa -in ssl.key -out ssl_984.key
  • или использовать сервис на этом сайте (https://startssl.com/ToolBox/DecryptPrivateKey)

там все просто

starssl_17

копипастим Enter Private Key, вводим пароль, жмем Decrypt и из нижней части копируем себе готовый ключ.

Теперь осталось установить сертификаты на сервер.

 

Установка сертификатов на вебсервер

Как я уже говорил выше в архиве с сертификатами (на данный момент ) 4 зип архива: ApacheServer.zip, IISServer.zip, NginxServer.zip, OtherServer.zip.

Выбираем в зависимости от того какой сервер вы используете. Я использую Nginx, поэтому беру NginxServer.zip, распаковываю его.

Копируем наш приватный ключ на сервер (тут зависит от того какую панель управления вы используете).

Например разместил я сертификат и приватный ключ в папке /etc/nginx/ssl

Осталось прописать это дело в конфиге nginx, например так:
ssl on;
ssl_certificate /etc/nginx/ssl/1_www.984.ru_bundle.crt;
ssl_certificate_key /etc/nginx/ssl/ssl_984.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL;

Сохраняем конфиг, проверяем его

service nginx configtest

если все нормально, то релоад

service nginx reload

можем пробовать открыть в браузере наш сайт по защищенному протоколу 🙂

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *