Let’s Encrypt сиртификаты. CentOS и FreeBSD

Насколько мне известно, на сегодня получить бесплатно «боевые» сертификаты можно только у Let’s Encrypt.

Установка ПО FreeBSD:

pkg install py27-certbot

Установка ПО CentOS 6:

cd /opt
git clone https://github.com/letsencrypt/letsencrypt

Для CentOS 7 есть готовый пакет: python2-certbot

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

server {
listen          80;
    server_name blabla.com;
    location /.well-known/ {
        alias /usr/www/letsencrypt/.well-known/;
    }
    location / {
        rewrite ^(.*)$ https://blabla$1 permanent;
    }
}

Где /usr/www/letsencrypt/ — путь, куда скрипты будут ложить файлы для проверки домена.

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

certbot certonly --agree-tos --email yourmail@domain --webroot -w /usr/www/letsencrypt/ -d blabla.com

Где:
—agree-tos — соглашаемся с условиями Let’s Encrypt;
—email — контактный емайл — обязательно;
—webroot — подтверждение владения доменом с помощью запроса кода по http;
-w — путь, куда ложить код пожтверждения;
-d — домены, на который запрашиваем сертификаты, может быть несколько.

В FreeBSD будет создана папка /usr/local/etc/letsencrypt с разными служебными файлами. Нас интересует папка
/usr/local/etc/letsencrypt/live/blabla.com
в которой расположены симсолические ссылки:
privkey.pem — ссылка на файл с приватным ключем для домена;
fullchain.pem — ссылка на файл с цепочкой сертификатов.

Соответственно, для нашего домена в nginx настройки будут типа:

server {
    listen 443 ssl http2;
    server_name blabla.com;
    ....
    ....
    ssl_certificate     /usr/local/etc/letsencrypt/live/blabla.com/fullchain.pem;
    ssl_certificate_key /usr/local/etc/letsencrypt/live/blabla.com/privkey.pem;
    ....
    ....
}

Получение сертификата CentOS 6:

/opt/letsencrypt/certbot-auto certonly --agree-tos --email yourmail@domain --webroot -w /home/www/letsencrypt -d mail.teksika.com

Естественно, -w /home/www/letsencrypt должен совпадать с соответствующим путем в настроках nginx.

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

/etc/letsencrypt/live/blabla.com/fullchain.pem
/etc/letsencrypt/live/blabla.com/privkey.pem

Перевыдача сертификатов
Сертификаты Let’s Encrypt выдаются на три месяца. Let’s Encrypt рекомендует перевыдавать сертификат каждые два месяца.

Настраиваем crontab:

8  3  10 2,4,6,8,12 * root команда_перевыдачи
12 3  10 2,4,6,8,12 * root service nginx reload

Соответственно, команды перевыдачи в случае FreeBSD и CentOS 6 буду выглядеть так:

/usr/local/bin/certbot renew --quiet
/opt/letsencrypt/certbot-auto renew --quiet
Запись опубликована в рубрике Записки админа. Добавьте в закладки постоянную ссылку.

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

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