Бесплатный SSL сертификат для сайта от Let’s Encrypt

С некоторых пор я перевел свои сайты на защищенный https с использованием нового http2 протокола и бесплатными сертификатами от Let’s Encrypt.

У себя на vps автоматизировал проверку, и получение новых сертификатов через crontab с помощью одной команды. Процесс установки Let’s Encrypt и автоматического обновления сертификатов я опишу ниже.

Установка Let’s Encrypt на ubuntu 16.04

Установим пакет Let’s Encrypt который поможет нам получить бесплатный ssl сертификат.

sudo apt install letsencrypt

После установки можно будет приступить к созданию сертификата для своего домена:

letsencrypt certonly  --email vasya@yahoo.su  -d you-site.ru

Электронную почту, и сайт нужно заменить на свои. И так мы получили свои первые бесплатные подписанные сертификаты. И где же они теперь ?
— Символьные ссылки на сертификаты лежат вот тут:

/etc/letsencrypt/live/you-site.ru/

Чтобы просмотреть список фалов сертификата введем эту команду в консоль

find /etc/letsencrypt/live/ -type l

Консоль выдаст вам это:

/etc/letsencrypt/live/you-site.ru/fullchain.pem
/etc/letsencrypt/live/you-site.ru/chain.pem
/etc/letsencrypt/live/you-site.ru/cert.pem
/etc/letsencrypt/live/you-site.ru/privkey.pem

это они, те самые, родимые сертификаты, срок действия сертификата 3 месяца, до истечения этого срока сертификаты нужно продлить, иначе ваши пользователи, да и вы сами однажды утром зайдя на сайт увидите неприятное сообщение на белом экране…

  Установка Nginx на Ubuntu. Свой веб сервер за 5 минут.

Но мы будем мудрее, и с нами такого не случится.

Автоматическое продление сертификатов Let’s Encrypt

Пытаться продлиться, и проверятся сертификаты будут раз в неделю с помощью cron в 6 часов утра, я думаю в это время не особо много трафика и 5 сек для :

  1. Остановки веб сервера
  2. Проверки, и если нужно обновления сертификата
  3. Запуска веб сервера

Никак не повлияют на основную работу сайта.

И так редактируем crontab:

sudo nano /etc/crontab

Вставим если у вас на 80 порту висит веб сервер NGINX

30 6    1 * * root service nginx stop && letsencrypt certonly --renew -d you-site.ru && service nginx start

Вставим если у вас на 80 порту висит веб сервер APACHE

30 6    1 * * root service apache2 stop && letsencrypt certonly --renew -d you-site.ru && service apache2 start

Всё готово, радуемся жизни.

  Установка Docker и использование нескольких версий php на сервере

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here