Создание SSL-сертификата Let’s Encrypt в Apache на Ubuntu 16.04

Let’s Encrypt – это новый центр сертификации (ЦС, или Certificate Authority, CA), который предоставляет простой способ создания сертификатов TLS/SSL, тем самым позволяя шифровать HTTPS на веб-серверах. Этот ЦС упрощает процесс создания сертификатов путём автоматизации большинства необходимых действий при помощи клиентского ПО. На данный момент Let’s Encrypt ещё находится в открытом бета-тестировании; пока что процесс получения и установки сертификата полностью автоматизирован только на веб-серверах Apache. Тем не менее, Let’s Encrypt позволяет получить бесплатный сертификат SSL, который можно установить вручную независимо от программного обеспечения веб-сервера.

Пошаговая инструкция по настройке Let’s Encrypt и получению SSL-сертификата для Apache в системе Ubuntu 16.04 и обновлению этого сертификата.

Условия:

  • Настроенный сервер на Ubuntu 16.04
  • Созданный пользователь (не root) с привилегиями суперпользователя. Как создать такого пользователя (Шаги №2-3) ? 
  • Доступ к серверу по ssh
  • Настроенная A-запись домена на публичный IP-адрес сервера (или VPS).
  • Установленный веб сервер Apache

Инструкция по настройке Let’s Encrypt в Apache на Ubuntu 16.04

Шаг № 1 Установка клиента Let’s Encrypt

Для начала использования Let’s Encrypt и получения бесплатного SSL сертификата установим клиент letsencrypt на сервер. Let’s Encrypt проект, который переименован с клиента certboot и входит в состав репозитория Ubuntu 16.04

Обновляем локальные индексы  пакетов apt и устанавливаем клиент letsencrypt

Клиент letsencrypt готов к работе.

Шаг № 2 Настраиваем SSL сертификат

Создание SSL-сертификата для Apache с помощью клиента Let’s Encrypt достаточно просто. Клиент автоматически получит и установит новый сертификат SSL, действительный для доменов, предоставленных в качестве параметров.

Что бы выполнить интерактивную установку SSL сертификата только для одного домена, возьмем для примера домен example.com(не забудьте поменять его на свой домен), выполним команду:

Если нужно установить один SSL сертификат, который будет доступен для мультидоменов или поддоменов, нужно добавить их в параметрах команды. Рекомендуется в качестве основного домена использовать домен верхнего уровня, а после все остальные. Рассмотрим команду на примере домена example.com и www.example.com, точно так же выполняется и для алиасов и поддоменов:

В данном примере домен example.com — основной.

В процессе установки будут заданы ряд вопросов, например будет запрошен электронный адрес для восстановления ключей и уведомлений, а так же вопросы связанные с включением доступа по протоколу http и https или принудительное перенаправление всего трафика на https. Обычно безопаснее всего использовать https, если нету особой необходимости для использования http.

После завершения процесса установки, будут созданы файлы сертификатов в /etc/letsencrypt/live. Проверить статус SSL сертификатов можно по ссылке (не забудьте заменить example.com на свой домен):

Теперь можно использовать https для своего сайта.

Шаг № 3 Настройка автообновления SSL сертификата

Сертфикаты Let’s Encrypt выдаются на 90 дней. Но рекомендуется обновлять их каждые 60 дней, что бы избежать ошибок. Клиент letsencrypt поддерживает авто обновление сертификатов.

Для обновления сертификатов выполним команду:

В связи стем, что мы только что создали сертификаты, они не будут обновлены, а мы увидим информацию, что на данный момент сертификаты не нуждаются в обновлении:

Что бы автоматизировать это процесс, создадим задания в кроне:

И добавим задание:

Мы создали задание которое будет запускать команду авто обновления каждый понедельник в 2:30 ночи. Информация о действиях с SSL сертификатами будет сохранятся в лог файле /var/log/le-renewal.log.

Вывод

Теперь мы используем бесплатные SSL сертификаты от Let’s Encrypt. А наши сайты работают на безопасном протоколе https

 

 

 

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

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