Как легко и без SMS получить и настроить HTTPS / HTTP/2

Каждый web-разработчик в 2018 году уже должен уметь и знать

Начиная с июля 2018 года пользователи Chrome будут получать предупреждения о небезопасности посещения сайтов по протоколу HTTP.

пока еще лайтово

Пруф:

Если вы еще не используете защищенное соединение HTTPS и HTTP/2, то советую научиться делать это сейчас. Умение работать с HTTPS и что такое HTTP/2 уже спрашивают даже на собеседованиях.

Как легко и быстро получить и настроить HTTPS / HTTP2

Автоматическое получение SSL сертификатов

Вся сложность всегда заключалась в сертификатах и в том, что они стоили денег. На сегодня есть проект Lets Encrypt (https://letsencrypt.org/) и вам не составит труда получить сертификат и прописать его в ваш сервер (будь то Apache, Nginx или даже Node.js сервер). Просто море информации как это сделать.

Мелкие трудности — это необходимость продлевать сертификат каждые 3 месяца. Но тут можно использовать разные сборки Docker контейнеров (если вы фронтендер и все еще не пользуетесь Docker — советую так же освоить ибо эта штука очень облегчает работу и деплой на продакшен, особенно Nodejs приложений).

Например я для своих нужд создал 2 варианта Docker с Nginx на борту и с возможностью автовыписки сертификатов:

Разница между ними в том, что один из них собран еще и с модулем Google Page Speed, который автоматически сжимает картинки, минифицирует код скриптов, добавляет lazy loading и так далее…

Чуть больше инфы про эти докер контейнеры я писал уже ранее

Но есть способ еще проще, если вы не хотите заморачиваться с Docker и настройкой сервера.

Автополучение сертификатов через Cloudflare

Cloudflare — это DNS хостинг. У него очень много интересных фишек для маленьких проектов с запросами энтерпрайз уровня. Что идет из коробки: Round-Robin, поддержка HTTP/2 и Push’ей, автоматические сертификаты с автопродлением и многое другое. Вот сертификаты нам сейчас и нужны. Про остальное расскажу в следующий раз.

Собственно вся суть настройки сводится к тому, что вы просто прописываете у своего регистратора домена DNS от Cloudflare и все. Далее уже управляете DNS записями в админке Cloudflare. Он сам выпишет вам сертификаты и сам их продлит. Изи, изи! Риал ток!

Добавляем записи DNS и указываем что нужно использовать проксирование
В разделе Crypto в секции SSL выставляем тип Flexible

В таком случае Cloudflare — это прокси балансировшик, который пропускает трафик через свои серверы и передает уже вам. У себя на сервере вы поднимаете HTTP сервер без SSL. А чтобы пользователи всегда использовали SSL соединение, можно указать опцию Always use HTTPS

Теперь все запросы на HTTP будут редиректиться на HTTPS

Так что в 2018 году будь то фронтендер или бекендер — не важно. Важно что начать использовать HTTPS и HTTP/2 стало проще простого, можно даже самому не заморачиваться с сертификатами.