...
My contacts:
GitHub :
benyazi
Email:
yo@benyazi.ru
LinkedIn:
s.klabukov
Facebook:
ben.yazi
Twitter:
ben_yazi
Menu:

Получение и настройка SSL-сертификата на сайте

По случаю настройки SSL на этом сайте: небольшая, короткая заметка о том, как настроить SSL-сертификат для своего домена с помощью LetsEncrypt.

Установка certbot

Certbot - отличная софтина для упрощения всего процесса получения сертификата. Установка весьма проста и сводиться к клонированию репозитория:

# git clone https://github.com/certbot/certbot

Также необходимо установить права на выполнения для файла скрипта:

# cd certbot

# chmod a+x ./certbot-auto

Получение сертификата

И теперь осталось получить сертификат:

# ./certbot-auto certonly --webroot --agree-tos --email mypost@my-domain.ru -w /home/user/website/www/ -d my-domain.ru -d www.my-domain.ru

--webroot — так как автоматическая установка для nginx пока не надежна, используем этот ключ;

--agree-tos — соглашаемся с лицензионным соглашением;

--email mypost@my-domain.ru — указываем свой e-mail. В дальнейшем он может пригодиться для восстановления своего аккаунта;

-w /home/user/website/www — указываем корневую директорию сайта;

-d my-domain.ru — наш домен. так же можно указывать и поддомены, например -d site.my-domain.ru.

В процессе скрипт может подтянуть необходимые зависимости, а в результате работы должен получится примерно такой вывод:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/mydomain.ru/fullchain.pem. Your cert will expire on 2016-08-21. To obtain a new version of the certificate in the future, simply run Certbot again.
- If you lose your account credentials, you can recover through e-mails sent to mypost@my-domain.ru.
- Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le` 

Это означает, что сертификаты установлены, и пора настроить nginx.

Настройка NGINX

Открываем файл конфига для вашего сайта.

Настроим SSL, если этого еще не было сделано.

ssl on;
keepalive_timeout 70;
keepalive_requests 150;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

И добавим файлы сертификата.

ssl_certificate /etc/letsencrypt/live/my-domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain.ru/privkey.pem;

После этого перезагружаем nginx и надеемся, что не сделали ошибок.

# service nginx reload

Обновление сертификата

Сертификат выдается на 90 дней, так что после этого срока нужно будет его обновить. Делается это командой:

# certbot-auto renew

Команду можно добавить в cron, чтобы не заморачиться с ручным обновлением.