Получение бесплатных SSL сертификатов от Lets Encrypt при помощи Certbot
Установка на Cemtos 7 :
- Инсталяция (подтянутся все необходимые зависимости:
- Создаем папку letsencrypt в которой будем генерировать сертификаты для всех своих доменов:
- Теперь нам нужно сделать так, чтобы любой запрос вида:
приводил к физическому размещению:
* Для версии Apache 2.3 и выше (если у Вас Apache + Nginx, то этого делать не нужно!) прописываем в конфигурационном файле:
* Для Nginx прописываем в секцию
следующий код:
- Регистрация в Let's Encrypt
Регистрация нужна для формирования ключевой пары, которой впоследствии подписываются все запросы, что позволяет удостовериться в подлинности отправителя. Это важно, так как все запросы передаются по открытым каналам и теоретически возможен их перехват и модификация.
Адрес электронной почты указываемый при регистрации используется для рассылки уведомлений, например, при неудачной попытке продления сертификата, поэтому следует указывать рабочий ящик, лучше всего собственный. Один и тот-же адрес можно использовать для регистрации на разных хостах, ограничений по этому параметру нет.
Для регистрации выполните команду:
Для успешного прохождения процедуры вам потребуется всего-лишь согласиться с условиями использования. Учетная информация будет сохранена в каталог /etc/letsencrypt/accounts, если содержимое данной директории будет утрачено, то вы не сможете продлить сертификаты и вам придется получать их заново, создав новый аккаунт. Это следует учитывать, например, при переносе системы на новый сервер.
Если вам необходимо изменить адрес электронной почты аккаунта, скажем при смене администратора, то это можно сделать командой:
Следует помнить, что технической возможности восстановления аккаунта нет и в случае его утраты вам придется заново выпускать все сертификаты.
-Получение сертификата
Ключ --dry-run включает тестовый режим, при котором производится симуляция получения сертификата
Сертификат получен, отлично! Но где нам его искать? Перейдем в /etc/letsencrypt/live где для каждого полученного сертификата будет создана папка с именем первого указанного в запросе домена, т.е. для нашего примера - example.com. Внутри будут находиться четыре файла:
cert.pem - собственно сертификат
chain.pem - цепочка доверия, включает корневой и промежуточный сертификаты Let's Encrypt
fullchain.pem - полная цепочка, включающая кроме содержимого chain.pem сам сертификат
privkey.pem - закрытый ключ сертификата, данный файл является секретным.
Источник: https://interface31.ru/tech_it/2017/04/ ... rtbot.html
Посмотреть срок действия сертификата можно командой:
Вывод будет примерно такой:
Установка на Cemtos 7 :
- Инсталяция (подтянутся все необходимые зависимости:
Код: Выделить всё
yum install certbot
- Создаем папку letsencrypt в которой будем генерировать сертификаты для всех своих доменов:
Код: Выделить всё
mkdir /var/www/letsencrypt
chown www-data:www-data /var/www/letsencrypt
- Теперь нам нужно сделать так, чтобы любой запрос вида:
Код: Выделить всё
http://example.com/.well-known/acme-challenge
приводил к физическому размещению:
Код: Выделить всё
/var/www/letsencrypt/.well-known/acme-challenge
* Для версии Apache 2.3 и выше (если у Вас Apache + Nginx, то этого делать не нужно!) прописываем в конфигурационном файле:
Код: Выделить всё
Alias /.well-known/acme-challenge/ /var/www/letsencrypt/.well-known/acme-challenge/
<Directory "/var/www/letsencrypt/.well-known/acme-challenge/">
Options None
AllowOverride None
ForceType text/plain
Require all granted
RedirectMatch 404 "^(?!/\.well-known/acme-challenge/[\w-]{43}$)"
</Directory>
* Для Nginx прописываем в секцию
Код: Выделить всё
server {
listen domen.ru:80;
следующий код:
Код: Выделить всё
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/letsencrypt;
allow all;
}
- Регистрация в Let's Encrypt
Регистрация нужна для формирования ключевой пары, которой впоследствии подписываются все запросы, что позволяет удостовериться в подлинности отправителя. Это важно, так как все запросы передаются по открытым каналам и теоретически возможен их перехват и модификация.
Адрес электронной почты указываемый при регистрации используется для рассылки уведомлений, например, при неудачной попытке продления сертификата, поэтому следует указывать рабочий ящик, лучше всего собственный. Один и тот-же адрес можно использовать для регистрации на разных хостах, ограничений по этому параметру нет.
Для регистрации выполните команду:
Код: Выделить всё
certbot register -m admin@example.com
Для успешного прохождения процедуры вам потребуется всего-лишь согласиться с условиями использования. Учетная информация будет сохранена в каталог /etc/letsencrypt/accounts, если содержимое данной директории будет утрачено, то вы не сможете продлить сертификаты и вам придется получать их заново, создав новый аккаунт. Это следует учитывать, например, при переносе системы на новый сервер.
Если вам необходимо изменить адрес электронной почты аккаунта, скажем при смене администратора, то это можно сделать командой:
Код: Выделить всё
certbot register --update-registration -m new_admin@example.com
Следует помнить, что технической возможности восстановления аккаунта нет и в случае его утраты вам придется заново выпускать все сертификаты.
-Получение сертификата
Код: Выделить всё
certbot certonly --webroot --agree-tos --email name@example.ru --dry-run --webroot-path /var/www/letsencrypt -d domen.ru -d www.domen.ru
Ключ --dry-run включает тестовый режим, при котором производится симуляция получения сертификата
Сертификат получен, отлично! Но где нам его искать? Перейдем в /etc/letsencrypt/live где для каждого полученного сертификата будет создана папка с именем первого указанного в запросе домена, т.е. для нашего примера - example.com. Внутри будут находиться четыре файла:
cert.pem - собственно сертификат
chain.pem - цепочка доверия, включает корневой и промежуточный сертификаты Let's Encrypt
fullchain.pem - полная цепочка, включающая кроме содержимого chain.pem сам сертификат
privkey.pem - закрытый ключ сертификата, данный файл является секретным.
Источник: https://interface31.ru/tech_it/2017/04/ ... rtbot.html
Посмотреть срок действия сертификата можно командой:
Код: Выделить всё
openssl x509 -noout -dates -in /etc/letsencrypt/live/домен.ру/cert.pem
Вывод будет примерно такой:
Код: Выделить всё
notBefore=Dec 21 19:53:34 2019 GMT
notAfter=Mar 20 19:53:34 2020 GMT