Настройка Let’s Encrypt SSL-сертификата на Ubuntu/Centos

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

 

При использовании Nginx в качестве Web-сервера

Установка git
Ubuntu/Debian

Centos

Остановка Nginx, который прослушивает 80 порт.
Перед генерацией сертификатов необходимо убедиться, что все имена домена(включая www-поддомен ,если он должен быть включен в сертификат), для которых генерируются сертификаты имеют запись типа А в ДНС.
Также необходимо остановить службу, которая слушает 80 порт на время генерирования сертификата(например, Nginx)
Ubuntu 14, Centos 6

Debian 8, Centos 7

 

2.Генерирование SSL-сертификатов, например.для сайтов kamaok.org.ua и example.com

После успешной генерации сертификатов запускаем Nginx

Либо

В каталоге /etc/letsencrypt/live/ будут созданы каталоги с именами доменов, на которые генерировались сертификаты

 

3.Настройка Nginx на поддержку SSL

Генерация ключа Диффи-Хельмана

Если необходима принудительное перенаправление с http на https

 

4.Проверка сертификата SSL-настроек
https://www.ssllabs.com/ssltest/

 

5.Настройка автоматического продления сертификата

Создаем скрипт для автоматического продления сертификата для КОНКРЕТНОГО домена/подддомена

Если корень сайта закрыт базовой аутентификацией,то разрешаем доступ каталогу .well-known в корне сайта без аутентификации, добавляя в виртуальный хост сайта в  Nginx

Автоматическое продление сертификатов для ВСЕХ ДОМЕНОВ, использующих LetsEncrypt

Добавляем скрипт в cron на выполнение раз в месяц (сертификат выдается на срок 3 месяца)

 

В качестве альтернативного типа аутентификации и установки сертификата вместо режима standalone,
который требует остановки WEB-сервера на время получения/продления сертификата можно использовать режим/плагин nginx,который не требует остановки WEB-сервера(Nginx)

Получение сертификата для домена example.com и поддомена www.example.com для Nginx-сервера

Если использовать подкоманду certonly, то сертификат будет только получен(но не установлен в Web-сервер)

Это удобно,когда мы самостоятельно настраиваем WEB-сервер и не хотим,чтобы Let’sEncrypt изменял файлы нашего Web-сервера

Если не указывать подкоманду certonly, тогда по умолчанию выполняется команда run, которая получает и УСТАНАВЛИВАЕТ сертификат для нашего WEB-сервера

Для включение/отключение force-redirect http->https используем опции

По умолчанию(если не указывать соотвествующие опции) будет запрос о включении ли принудительного перенаправления
Принудительное обновление сертификата (—force-renewal)

Также добавим ключ —noninteractive для автоматического обновления сертификатов без запросов на ввод данных вручную(если каких-либо параметров будет не хватать/недостаточно, то let’sencrypt сообщит об этом)

Продление всех сертификатов
Принудительное автоматическое обновление сертификатов для ВСЕХ ДОМЕНОВ без остановки web-сервера Nginx

Добавим в планировщик cron задание по продлению всех сертификатов каждые 60 дней(сертификат выдается на срок 90 дней)

Тестирование автообновления всех сертификатов( опция —dry-run)

Другие полезные команды
Изменение Email-адреса, указанного при регистрации(создании аккаунта)

Просмотр выданных LetsEncrypt-сертификатов

 

Вместо файла letsencrypt-auto – bash-скрипта, которые запускает последнюю версию Certbot клиента можно устнаовить и использовать непосредственно бинарник certbot
Например,установка на Ubuntu16.04

https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx

Например,просто получить сертификат без изменения конфиг.файла Nginx

Также полезно протестировать автообновление сертификатов

Автообновление всех сертификатов с помощью certboot

Поддерживаемые опции для letsencrypt-auto и certbot одинаковые
https://certbot.eff.org/docs/using.html

 

При использовании Apache в качестве Web-сервера

Настройка автоматического продления сертификата для конкретного домена

Автоматически создается файл такого содержания

Если выбрали принудительное пернаправление с http на https при генерировании сертификата

В конец вирт.хоста example.com автоматически добавилось принудительное перенаправление с http на https

Также был создан файл вирт.хоста для SSL-подключений путем копирования вирт.хоста http и добавлением строк

Файл /etc/letsencrypt/options-ssl-apache.conf был создан автоматически Let’s Encrypt

 

Автоматическое продление сертификатов для ВСЕХ ДОМЕНОВ, использующих LetsEncrypt

Добавим в планировщик cron автообновление каждые 60 дней(сертификат выдается на срок 90 дней)

 

Источник:
http://www.tecmint.com/secure-nginx-with-lets-encrypt-ssl-certificate-on-ubuntu-and-debian
http://www.tecmint.com/setup-https-with-lets-encrypt-ssl-certificate-for-nginx-on-centos
http://www.cyberciti.biz/faq/how-to-configure-nginx-with-free-lets-encrypt-ssl-certificate-on-debian-or-ubuntu-linux/
http://www.tecmint.com/install-lets-encrypt-ssl-certificate-to-secure-apache-on-rhel-centos
http://www.tecmint.com/install-free-lets-encrypt-ssl-certificate-for-apache-on-debian-and-ubuntu

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика