Для начала необходимо создать CSR-запрос на получение SSL сертификата. В результате чего мы получим 2 файла (domainname.key - зашифрованный приватный ключ и domainname.csr - CSR с приватным ключом RSA). У меня эти файлы были сгенерированы автоматически во время создания домена.

Генерация CSR

Если у вас их нет, то заходим на сервер по SSH.

1. Устанавливаем openssl, если не установлен:

sudo apt-get install openssl

2. Далее переходим в папку где будут храниться сертификаты, это: /var/www/httpd-cert/userName или /etc/apache2/ssl или /ваш/вариант и вводим команду для генерации зашифрованного приватного ключа:

1-й вариант, с паролем:

openssl genrsa -des3 -out domainname.key 204

Вам нужно ввести пароль для доступа к файлу. А также данный пароль необходимо будет вводить каждый раз при запуске веб-сервера. Если вы потеряете пароль, то нужно будет заказывать новый сертификат.

2-й вариант, без пароля:

openssl genrsa -out domainname.key 2048

Для имени приватного ключа лучше всего использовать доменное имя для которого заказывается сертификат (например: devreadwrite.com.key вместо domainname.key).

3. Для создания CSR с приватным ключом RSA вводим следующую команду в консоль:

openssl req -new -key domainname.key -out domainname.csr

Если при создании приватного ключа вы указали пароль (использовали ключ -des3), то будет запрошен этот пароль.

При создании CSR необходимо ввести информацию которая будет отображаться в сертификате. При этом не используйте следующие символы: < > ~ ! @ # $ % ^ * / \ ( ) ? . , &

4. Заполняем необходимые поля:

Заполняем информацию для отображения в SSL сертификате для HTTPS протокола

Поле пароль оставьте пустым.

5. Теперь можем проверить CSR командой:

openssl req -noout -text -in domainname.csr

Получаем бесплатный SSL сертификат от WoSing

Далее, заходим на сайт: https://buy.wosign.com/free/?lan=en и регистрируемся и(или) авторизируемся там. Переходим на вкладку Request a Free SSL Certificate. В поле Domain name вводим список доменных имен для которых нам нужно получить SSL сертификат, далее выбираем период действия сертификата, выбираем язык сертификата, вводим капчу, соглашаемся с правилами и жмем "Submit request"

Заполнение формы заказа бесплатного SSL сертификата для HTTPS протокола

Далее переходим на вкладку "My Order".

Верификация владения доменом

При первом заказе вам необходимо будет пройти верификацию домена, во вкладке My Order жмем Domain Control verification и выбираем удобный для вас метод верификации:

Верификация домена при первом заказе бесплатного SSL сертификата для HTTPS протокола

Например, подтверждение путем добавления на сайт .html файла.

Добавляем html файл на сайт, вводим капчу и жмем на кнопку верификации:

Верификация домена при первом заказе бесплатного SSL сертификата для HTTPS протокола с помощью html файла

После верификации домена продолжаем.

Запрос на подпись сертификата (CSR)

Продолжаем. Находим в списке ваш заказ и жмем Submit CSR:

Запрос на подпись сертификата (CSR)

Появится всплывающее окно в которое необходимо ввести содержимое CSR файла.

Содержимое будет начинаться с строки -----BEGIN CERTIFICATE REQUEST----- и заканчиваться -----END CERTIFICATE REQUEST-----, вставляем его:

Форма для ввода содержимого CSR файла

После чего жмем Check CSR:

Проверка содержимого CSR файла

Если все хорошо, то жмем Submit.

Отправляем сертификат на подпись

В течении 30 минут наш сертификат будет подписан:

Уведомление о том что в течении 30 минут, сертификат будет подписан

Ждем письмо. Когда вы получите письмо, вам необходимо перейти по ссылке, ввести капчу согласиться с правилами использования и нажать на кнопку Retrieve.

Получаем подписанный бесплатный SSL сертификат для HTTPS протокола

Качаем архив:

Скачиваем архив с бесплатным SSL сертификатом для HTTPS протокола

Открываем его и берем файл из for Apache.zip, если у вас сайт работает на Apache или открываете соответствующий вашим требованиям архив. Далее заменяем сам файл domainname.crt или его содержимое на полученное из архива. Как я уже написал выше, у меня сертификат был создан (но не подписан) и подключен при создании домена, поэтому мне остается только перезапустить Apache:

/etc/init.d/apache2 reload

Подключаем SSL сертификат к домену

Если у вас не подключен сертификат то подключите его. Подключить его можно несколькими вариантами:

1 Вариант.

Открываем панель управления сайтами, в настройках домена включаем Защищенное соединение (SSL), а из выпадающего списка выбираем наш сертификат, перезапускаем Apache.

2 Вариант.

Заходим в редактирование хоста /etc/apache2/vhosts/domainname/ и добавляем следующие строки:

SSLEngine on
SSLCertificateFile "/path/to/domainname.crt"
SSLCertificateKeyFile "/path/to/domainname.key"

Сохраняем и перезапускаем Apache:

/etc/init.d/apache2 reload

Все, теперь у вас есть бесплатный SSL сертификат и рабочий протокол HTTPS на сайте.

Как подключить SSL сертификат на Nginx можно прочитать здесь: Let’s Encrypt. Как бесплатно добавить SSL/TLS сертификат и HTTPS протокол на сайт, пошаговая инструкция

Дополнительно

После удачной настройки HTTPS протокола не забудьте сделать 301 редирект с HTTP на HTTPS. Как это сделать описано здесь, для NGINX: Nginx, 301 на все случаи жизни, для Apache: 301 редирект на все случаи жизни с помощью .htaccess

А так же необходимо настроить подключение внешних скриптов и картинок (внутренних тоже, если указан путь с доменом) на https соединение, например:

<link rel="stylesheet" type="text/css" href="http://devreadwrite.com/style.css" />

заменить на:

<link rel="stylesheet" type="text/css" href="//devreadwrite.com/style.css" />

В таком случае файл будет получен по тому же протоколу в каком был запрошен сайт, в нашем случае https. Или же указать протокол явно.

<link rel="stylesheet" type="text/css" href="https://devreadwrite.com/style.css" />