Сертификаты Let’s Encrypt для nginx

Опубликовано: 29 декабря 2015 в 06:11

Не так давно, центр сертификации Let’s Encrypt вышел на стадию открытого тестирования и стал доступен всем желающим, о чем мы уже писали в нашем блоге «Центр сертификации Let’s Encrypt – запущен в открытое тестирование«.

Сегодня же мы попробуем получить сертификаты для наших доменов и автоматизировать авто продление сертификатов.

Справка: Для тех кто не в курсе, Let’s Encrypt выдает сертификаты всего на 90 дней, после чего их необходимо обновить, иначе они станут не действительными.

Установка Let’s Encrypt

Перовое что нам необходимо сделать, это получить скрипты управления Let’s Encrypt. Мы используем Debian Wheezy, поэтому самый простой и универсальный способ для нас, это получить скрипты из репозитория Let’s Encrypt.

После чего нужно выполнить установку, для того чтобы letsencrypt до установил нужные зависимости:

Если у Вас Debian Stretch или Debian Sid, то вы можете установить пакеты Let’s Encrypt:

Получение сертификатов

Первое что мы рекомендуем сделать, это ознакомиться со справкой:

Более развернутую справку можно посмотреть командой ./letsencrypt-auto —help all.

Мы будем только генерировать сертификаты, без каких либо установок. Для этого мы будем использовать под команду certonly. Опция —apache нам не подходит, поэтому будем использовать опции —standalone или —webroot. При использовании опции —standalone необходимо останавливать сервер.

Для получения сертификата мы будем использовать опцию —webroot:

Кратко пробежимся по опциям:

  • -w / —webroot-path — путь к web директории, важно помнить, что при указании нескольких опций -w использоваться будет последняя
  • —email — контактный адрес для восстановления
  • -d — домен, возможно указать несколько доменов сразу (пример … -d nahoste.ru -d www.nahost.ru)

Настройка NGINX

Теперь когда мы получили сертификаты, перейдем к настройке nginx. Для удобства я создам шаблон конфигурации для ssl доменов:

Теперь настроим наш виртуальный хост:

После настройки пере запускаем nginx и смотрим что получилось:

letsencrypt-nagoste

Также смотрим что нам покажет SSL Server Test:

sslabs-nahoste-letsencrypt

Обновление сертификата

Обновление сертификата происходит аналогично его получению:

Опция —renew-by-default автоматизирует процесс обновления, благодаря ей мы автоматически говорим, что нам нужно обновить сертификаты.

Автоматизация обновления сертификата Lets Encrypt

Для автоматизации достаточно поместить команду обновления сертификата в crontab:

Поделиться

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

(Required)