Поставил сертификат Let’sEncrypt

Вот наконец решил попробовать SSL сертификат от Let’s Encrypt. Сподвигло меня на это то что, купленный мной ранее сертификат от COMODO, на платформе Android оказывается считается недоверенным. А я ни сном ни духом об этом( Да и вобщем хрен с ним с тем сертификатом, стоил он всего 8$, и во первых не жалко, а во вторых, FireFox начал ругаться на то сертификат использует небезопасное шифрование 1024bit.

Вообще что такое Let’s Encrypt? Это центр сертификации который выдает бесплатные HTTPS сертификаты. Ну и немножко википедии:

Проект Let’s Encrypt создан для того, чтобы большая часть интернет-сайтов смогла перейти к шифрованным подключениям (HTTPS). В отличие от коммерческих центров сертификации, в данном проекте не требуется оплата, переконфигурация веб-серверов, использование электронной почты, обработка просроченных сертификатов, что делает процесс установки и настройки TLS-шифрования значительно более простым. Например, на типичном веб-сервере на базе Linux, требуется исполнить две команды, которые настроят HTTPS шифрование, получат и установят сертификат примерно за 20-30 секунд.

У сервиса есть несколько ограничений которые немного печалят, сертификат выдается сроком всего на 3 месяца, отсутствуют WildCard сертификаты. Первое ограничение объясняют тем что мол в случае компрометации, сертификат, выданный на 3 месяца, нанесет вреда меньше, чем сертификат выданный на год.

Теория заговора: хотя мне кажется все эти ограничения созданы искусственно с другой целью — оставить остальные центры сертификации на плаву. Кому то будет лень настраивать cron на перевыпуск сертификата, или же перевыпускать его вручную каждые три месяца. Кому то лень получать сертификаты на все поддомены. А так Let’s Encypt занимает свою нишу среди гиков, которым такие вещи только нравятся.

Как установить Let’s Encypt?

Для этого существует специальный одноименный клиент созданный этой же организацией:

Вообще для nginx у них есть вроде как почти полностью автоматизированный установщик, но честно сказать я не особо рад тому что бы сторонняя утилита правила мои конфиги. Поэтому я предпочел установку сертификатов вручную.

В моем случае это выглядит вот так:

После чего будет создан каталог /etc/letsencrypt/live/intsystem.org/ с символическими ссылками на сертификаты и ключ:

Теперь путь к ним осталось прописать в конфиг Nginx

и рестартуем Nginx.

Как обновить сертификат?

Особого умения тут тоже не надо, используем ту же самую команду, но с параметром --renew-by-default:

В моем случае:

После выпуска и получения новых сертификатов, должны автоматически обновится символические ссылки на них:

и рестарт Nginx (reload).

Как обновлять сертификат Let’s Encypt автоматически?

Для этого можно добавить следующие комманды в крон на каждые два месяца:

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

Leave a Reply

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>