Let's encrypt & Nginx

Пришло долгожданное письмо, по без нормальной поддержки nginx. Не беда — даже мне, ленивому, хватило 15 минут, что бы заменить сертификат. Изначальный конфиг уже описывался. Что же нового?

  1. Установим клиент:

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto --server https://acme-v01.api.letsencrypt.org/directory --help

  1. Получим сертификаты:

$ sudo service nginx stop
$ ./letsencrypt-auto certonly -a standalone -d example.com --server https://acme-v01.api.letsencrypt.org/directory

  1. Поправим nginx:

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

$ sudo service nginx start && sudo nginx -s reload

Обновление тоже не мозгозатратное и можно запихнуть в .bashrc:

$ sudo service nginx stop && ~/letsencrypt/letsencrypt-auto certonly -a standalone -d example.com --server https://acme-v01.api.letsencrypt.org/directory && sudo service nginx start && sudo nginx -s reload