Бесплатные SSL сертификаты — HTTPS в массы!

Проект Let’s Encrypt только что вышел из стадии бета-теста и самое время рассказать о нем подробнее.

Проект был запущен шесть месяцев назад, предназначена она была для небольших веб-сайтов, которые не могут самостоятельно получить доступ к сертификатам SSL, обязательно нужным для корректной работы HTTPS.

Автором проекта стала Internet Security Research Group (ISRG), а проспонсировали все это Mozilla, Cisco, Akamai,IdenTrust, Electronic Frontier Foundation и Google. За полгода проект Let’s Encrypt выпустил около 2 млн и позволил более чем 2,4 миллиона доменных имён перейти на HTTPS-шифрование.

При использовании незащищённых (HTTP) сайтов может страдать безопасность пользователей. Более того, Google заявила, что она собирается помечать в браузере Chrome такие сайты предупреждениями, тем самым как бы отговаривая пользователей заходить на них.

Я только что протестировал у себя этот сервис  — очень удобно и быстро. От момента прочтения новости до полностью рабочего HTTPS с валидным SSL на моем сервере прошло 10 минут. Для того, чтобы все это работало, вам потребуется Linux-сервер с установленным на нем веб-сервером (я использую апач), где собственно, ваш сайт находится. Для простого хостинга, к которому у вас нет рут-доступа, все это не подойдет, нам нужен или ваш собственный отдельный линукс-сервер, или VPS/VDS. Я думаю, обьяснять, что вам нужны базовые знание по работе в bash-терминале, не надо. Ниже опишу, как все это ставится на Debian-подобные системы (Ubuntu и другие).

Открываем терминал и начинаем лупить:

У меня вообще не был настроен SSL и HTTPS на апаче, поэтому быстренько раскатал mod_ssl и дефолтную конфигурацию для него:

sudo a2enmod ssl
sudo a2ensite default-ssl

Далее уже конкретно работаем с Let’s Encrypt:

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto --help

После последней команды, система прогонит apt-get update && apt-get upgrade, поставит Python, если он не установлен, и в конце выполнения выведет нам место, куда установился letsencrypt. В эту самую директорию нужно перейти, и оттуда:

sudo ./letsencrypt --apache

И он все сделает сам — обменяется с трастовым сервером информацией, запишет нужное в конфиг-файлы апача, создаст сертификат, положит его куда надо. Запросит имя вашего домена, на котором висит сайт, вписываем. По итогу все у нас уже должно работать, и вас порядует вот такая картинка в браузере, где открыт ваш сайт:

бесплатный ssl https

 

На сайте авторов проекта есть также инструкции для других систем и NGINX. Думаю, если вы осилили установить и настроить его, у вас никаких трудов не вызовет английский мануал.

Сертификат создается сроком на 3 месяца. Чтобы его обновить, процедура просто прогоняется заново.