Установка и настройка https

Внимание!
Начиная с октября 2016 г. Mozilla Firefox и с марта 2017 г. Google Chrome не поддерживают сертификаты от StartCom.
Вместо них можно воспользоваться бесплатным сертификатом Let’s Encrypt.

Как получить бесплатный сертификат для сайта

Чтобы получить бесплатный сертификат для https идем на startssl.com и регистрируемся там. После регистрации вы получите файл сертификата для авторизации на сайте (*.p12), который необходимо импортировать. В Windows 10 для этого достаточно два раза кликнуть по файлу, после чего запуститься Certificate Import Wizard и сделает почти всю работу за вас. Раньше выдавали сертификат всего на один год, но последний раз (октябрь 2016 г.) сразу выдали на 4 года. В любом случае по истечении срока действия сертификата или его потери достаточно вновь ввести email, ввести код подтверждения (который придет на email) и создать новый сертификат.

После прохождения валидации вам предоставят возможность создавать сертификаты. Бесплатный тарифный план включает в себя неограниченное (наверное) число сертификатов Class 1 - это сертификаты Domain Validation (DV), которые требуют лишь подтверждения владения доменом. Самый простой способ подтвердить - запросить код подтверждения на почту webmaster@, после чего в один сертификат вы можете включить до 10 разных доменов. Wildcard не поддерживается, поэтому как минимум нужно будет указать домен с www и без, ну и остальные по вашему желанию. Эти сертификаты выдаются на год, но через год вы можете бесплатно сгенерировать новый и заменить старые файлы.

Как установить сертификат на сервер

Для установки сертификата вам потребуется файлик с приватным ключем *.key и файлик с сертификатом *.pem. Первый вы получаете в процессе генерации сертификата, второй можно скачать со страницы списка сертификатов. Далее вам понадобится рутовый сертификат, его скачиваем с этой страницы - startssl.com/root - Root 1 - StartCom Certification Authority - ca.crt(pem). После чего объединяем рутовый сертификат с нашим в один файлик:

cat alhames.ru.pem ca.crt > cert.pem

Далее устаналиваем приватный ключ:

openssl rsa -in alhames.ru.key -out priv.key
chmod 600 priv.key

Все готово, теперь остается лишь вписать необходимые настройки в nginx. Просто копипастим все оттуда, вкачестве ssl_certificate используем файлик cert.pem, а в качетсве ssl_certificate_key используем priv.key.