Небольшая заметка про подключение letsencrypt
на сайт с nginx
сервером. За основу взял хабра-статью от @questor-а. Наша задача добавить поддержку https
на сайт малой кровью. letsencrypt
позволяет нам это сделать, взяв на себя всю чёрную работу по подготовке, выдаче, загрузке и обновлению сертификатов (подробнее). Всё нижеописанное я привожу для linux debian-like
систем.
Принцип работы
Для подключения HTTPS
необходимы сертификаты (для шифрования и аутентификации). Причём эти сертификаты должны быть выданными доверенными серверами
, список которых вшит в браузеры
. Обычно это дело было платным, но с недавних пор, появилось несколько доступных и бесплатных альтернатив. Одна из которых это Let’s Encrypt.
Let’s Encrypt
выпускает сертификаты бесплатно
и в автоматическом режиме
на 3 месяца
. Для работы с ним подготовлено ПО с открытым кодом и есть открытое API
для взаимодействия вручную. Мы воспользуемся готовым рекомендованным ПО.
Принцип работы этого ПО заключается в том, что сервер запрашивает у letsencrypt-центра
выпуск новых сертификатов для указанных доменным имён
. Для этого letsencrypt-центр
ломится на ваш сервер по конкретным URL-ам с этими доменными именами, и убеждается в том, что они принадлежат вам. Затем выпускает новые сертификаты и передаёт их на сервер сайта. ПО складирует их в указанной директории. Вам остаётся лишь подключить их к nginx
и настроить автоматическое обновление по cron
-у.
Подготовка, подключение и обновление под катом.