Welcome LetsEncrypt

letsencrypt

Привет,

Искам да съобщя, че от днес linuxhelps.net (и няколко под домейна ) използват валиден сертификат от Let’s Encrypt!! Welcome LetsEncrypt!

Накратко – LetEncrypt предоставят напълно безплатно възможността, да имаме валиден SSL сертификат.

Инсталацията на letsencrypt става супер лесно :

 

beta:~# git clone https://github.com/letsencrypt/letsencrypt
beta:~# cd letsencrypt/
beta:~/letsencrypt# ./letsencrypt-auto --help

 

А след това следва и инсталацията на самите сертификати :

/root/.local/share/letsencrypt/bin/letsencrypt certonly --standalone -w /var/www/linuxhelps/ -d linuxhelps.net -d www.linuxhelps.net

 

За целта първо трябва да се спре уеб сървъра, докато трае самото инсталиране на сертификатите ( осъществява се обратна връзка от сървърите на letsencrypt.org към моите домейни ) – отнема около 20~30 секунди.

Ако всичко е ОК трябва да видим и следното съобщение :

IMPORTANT NOTES:

- Congratulations! Your certificate and chain have been saved at

   /etc/letsencrypt/live/linuxhelps.net/fullchain.pem. Your cert will expire

   on 2016-07-25. To obtain a new version of the certificate in the

   future, simply run Let's Encrypt again.

- If you like Let's Encrypt, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate

   Donating to EFF:                    https://eff.org/donate-le

 

Вече имаме изцяло валиден сертификат за изборените по-горе домейни ? Валидността му е 2 месеца! За да не бъде изтърван и не подновен сертификата, е необходим скрипт който да се грижи за това – разбира се автоматично!

Ето и решението на този проблем.

Създадох следният скрипт, който да върши тази работа и го кръстих /root/letsencrypt-renew.sh :

#!/bin/sh

service nginx stop

service monit stop

/root/letsencrypt/letsencrypt-auto renew -nvv --standalone > /var/log/letsencrypt/renew.log ; cat /var/log/letsencrypt/renew.log |mail -s 'LetsEncrypt Renew' moqt-email@linuxhelps.net

LE_STATUS=$?

service nginx start

service monit start

if [ "$LE_STATUS" != 0 ]; then

    echo Automated renewal failed:

    cat /var/log/letsencrypt/renew.log

    exit 1

fi

 

Дадох му права за изпълняване :

chmod +x /root/letsencrypt-renew.sh

 

и добавих в /etc/crontab следния ред :

0 3 20 * * root /root/letsencrypt-renew.sh >/dev/null 2>&1

 

Вижда се, че скрипта за подновяване спира nginx и monit ( в моят случай това са сървисите които трябва да се спрат ).

Така на всеки 20-ти ден от месеца в 3 сутринта, ще се пуска скрипта, който ще проверява дали всички сертификати инсталирани на сървъра имат нужда от подновяване, и ако да ще ги поднови. Разбира се, ще ми изпрати и мейл с лог-а от цялата тази работа =)

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.