Установка и настройка сертификатов Let’s Encrypt

На сегодняшний день, бесплатные SSL-сертификаты довольно часто используются в работе сайтов, их использование оправдано в тех случаях, когда мы желаем сделать свой сайт более безопасным и тем самым повысить его рейтинг со стороны SEO.

До недавних пор большой популярностью пользовались сертификаты от SlartSSL и WoSign, однако, многие браузеры перестали им доверять и большинство сайтов оказалось с нерабочими, но валидными SSL-сертификатами. Толку от них нет, если пользователь видит ошибку при открытии сайта, если бы не решение от Let’s Encrypt, то в нашем арсенале остался бы только один вариант – покупать сертификат :)

Итак, приступим к установке и настройке Let’s Encrypt:

rpm -ihv http://rpms.southbridge.ru/southbridge-rhel6-stable.rpm
yum clean all
yum install letsencrypt -y

Далее правим конфигурационный файл:

mv /etc/letsencrypt/configs/my-domain.conf /etc/letsencrypt/configs/nagg.ru.conf
vi /etc/letsencrypt/configs/nagg.ru.conf

Приводим его к следующему виду:

# the domain we want to get the cert for;
# technically it's possible to have multiple of this lines, but it only worked
# with one domain for me, another one only got one cert, so I would recommend
# separate config files per domain.
#domains = my-domain, my-domain2, my-domain3
domains = nagg.ru

# increase key size
rsa-key-size = 2048 # Or 4096

# the current closed beta (as of 2015-Nov-07) is using this server
server = https://acme-v01.api.letsencrypt.org/directory

# this address will receive renewal reminders
email = sf@nagg.ru

# turn off the ncurses UI, we want this to be run as a cronjob
text = True

# authenticate by placing a file in the webroot (under .well-known/acme-challenge/)
# and then letting LE fetch it
authenticator = webroot
webroot-path = /var/www/letsencrypt/

Добавляем в конфиг Nginx вашего сайта (в раздел с HTTP):

location /.well-known/acme-challenge {
        root /var/www/letsencrypt;
    }

Запускаем утилиту для выпуска сертификата

su - letsencrypt
certbot-auto --config /etc/letsencrypt/configs/nagg.ru.conf --no-self-upgrade certonly

При первом запуске он попросит ввести почту, на которую letsencrypt будет слать письма в случае проблем с сертификатом. Потом будет сообщение о принятии условий соглашения, принимаем и, наконец, запрос на разрешение разадчи нашего емейла всяким спамерам. Отвечаем «No».

(A)gree/(C)ancel: A
(Y)es/(N)o: N

Если всё прошло успешно, получим сообщение:

Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/my-domain/nagg.ru.pem.

Добавляем в Nginx и проверяем:

listen 443 ssl;
ssl_certificate     /etc/letsencrypt/live/nagg.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nagg.ru/privkey.pem;

Осталось добавить один маленький штрих, создать скрипт /srv/scripts/renew-letsencrypt.sh для автоматического обновления всех выпущенных сертификатов.

#!/bin/sh

/usr/bin/certbot-auto --no-self-upgrade renew
sudo /sbin/service nginx reload
chmod a+x /srv/scripts/renew-letsencrypt.sh

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

vi /etc/cron.d/renew-letsencrypt
0 0 1 */2 * letsencrypt /srv/scripts/renew-letsencrypt.sh >> /var/log/letsencrypt/nagg.ru.log 2>&1
/etc/init.d/crond reload

Related posts:

  1. Установка Netams-3.4.5 под Centos. Настройка и тюнинг Бесплатное программное обеспечение NETAMS 4.0 (релиз 489 от 4 марта)...
  2. Настройка SSL для сайта и получение оценки A+ В предыдущих статьях я рассказывал как настроить SSL для Вашего...
  3. OpenSSL. Шифрование. Создание сертификатов. OpenSSL – набор утилит для различного вида шифрования.  Широко распространен...
  4. Установка приоритетов для процессов в linux: nice Команду nice можно также использовать для запуска процесса с другим...
  5. Добавляем заголовок HTTPS в Apache Если SSL настроен на nginx, то до апача обычно не...
You can leave a response, or trackback from your own site.

Оставить комментарий

*