Установка сертификата Let’s Encrypt для nginx

Устанавливаем пакет certbot

apt-get install certbot

Добавляем в конфиг nginx сайта

location ~ /.well-known {
allow all;
}

Создаем директорию .well-known, чтобы она была доступна по http.

Перезапускаем nginx. Запускаем генерацию . Для проверки используем ключ —dry-run

certbot certonly --dry-run -d site.ru -d www.site.ru

Скрипт задаст несколько вопросов.

How would you like to authenticate with the ACME CA?
1: Place files in webroot directory (webroot)
2: Spin up a temporary webserver (standalone)
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1


1: Enter a new webroot
Press 1 [enter] to confirm the selection (press 'c' to cancel): 1
Input the webroot for selux.ru: (Enter 'c' to cancel):/var/www/site.ru/www
Select the webroot for www.selux.ru:
1: Enter a new webroot
2: /var/www/site.ru/www

Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Waiting for verification…
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0001_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0001_csr-certbot.pem
IMPORTANT NOTES:
Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/site.ru/fullchain.pem. Your cert will expire
on 2019-03-22. To obtain a new or tweaked version of this
certificate in the future, simply run certbot again. To
non-interactively renew all of your certificates, run "certbot
renew"
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 для нужного сайта.

Если все ок, запускаем без

ssl_certificate /etc/letsencrypt/live/site.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/site.ru/privkey.pem;