Бесплатный SSL сертификат от Letsencrypt — Установка на VPS
Наткнулся на комментарий в одной из старых статьях про установку SSL, где Рустам сказал, что знает где взять сертификат по дешевле. Вот хочется рассказать Рустаму, где можно взять SSL сертификат совершенно бесплотно, на три месяца и автоматически его продлевать сколько душе угодно. Этот центр сертификатов называется Letsencrypt его создали богатенькие компании, для стимулирования исчезновения HTTP. Который сейчас может перехватывать даже пятиклассник на уроке информатики. Сам протокол HTTPS конечно тоже не решает проблемы устаревания технологии, но хоть позволяет читать трафик, только очень узкому кругу компаний и спецслужбам.
Почему сертификат бесплатный?
Ну а почему нет!! На самом деле, кто не в курсе, было очень много действий со стороны крупных компаний, направленных на популяризации SSL шифрования всех http запросов. И это длилось годами, долгими и упорными действиями. Системные администраторы с бородатых лет, не дадут соврать. Они помнят как поднимали локальные центры сертификации, в локальной сети, для нормальной работы передачи данных между приложениями. Буквально года два три, все Web разработчики стали юзать SSL, так как поисковики прямым текстом сказали, мы будем https ранжировать лучше чем http.
Хотя цены на душманские сертификаты не превышали стоимости домена в год, люди все равно не охотно переходили, ныли и всячески сопротивлялись. Вот видимо те, кто может себе позволить и оплатили этот бесплатный пир. На официальном сайте, есть список компаний спонсоров.
Установка сертификата Letsencrypt
Если вы используете обычный хостинг, то активировать SSL Letsencrypt можно прямо в панели Plesk или ISPmanager. Там вообще ни чего сложного нет, только не забудьте потом настройить 301 редирект с http на https.
Если вы из тех, кто любит знать, о самочувствии операционной системы и используете VPS. Нужно использовать клиента Certbot, заходите выбираете Web-сервер, OS и появляется пошаговая инструкция. В нашем примере это Apache на Debian7:
Терминалимся по SSH, заходим в папку tmp (тут кому как удобней) и качаем пакет.
wget https://dl.eff.org/certbot-auto
На всякий пожарный назначаем права
chmod a+x certbot-auto
Дальше специально для ленивых, скрипт сам все сделает, вплодь до конфигурации Apache, просто запускаем и все.
/tmp/certbot-auto —apache
Появится окно, с найденными сайтами на вашем VPS сервере:
Ставим номера тех доменов, которые вам нужно перевести на https. Если вы с www просто перекидываете на основной домен, выбирать домен с www не обязательно. Для тех кто не смог прочесть буржуйский, домены нужно перечислить, разделив их запятыми.
Потом как раз появится вопрос, про редирект, выбираем второй вариант, ДА все перекидываем на https трафик.
Ну вот и все, чекайте, сайт должен начать работать по SSL.
Автоматическое продление сертификата Letsencrypt
Сертификаты выдаются на три месяца, и их нужно продлевать. Для этого нужно воспользоваться следующей командой:
/tmp/certbot-auto renew
Вот именно эту команду ввожу когда вижу страшную надпись на своем сайте о истекшем сертификате. Но можно и автоматизировать процесс, добавив следующую команду в crontab:
nano /etc/crontab
Потом нужно добавить следующую строчку:
0 0,12 * * * python -c ‘import random; import time; time.sleep(random.random() * 3600)’ /tmp/certbot-auto renew
Авто-продление будет запускаться два раза в сутки. Но по идее тогда лучше скрипт перенести с папки /tmp/
Добавил в crontab пока писал эту статью, посмотрим, что из этого получится. Надеюсь будет обновляться.