инструкция по установке SSL-сертификата Let’s Encrypt


В связи с тем что Google Chrome заблокировал сертификаты StartCom, а доля пользователей Google Chrome не маленькая то решил воспользоваться сертификатом Let’s Encrypt.

Сертификаты Let’s Encrypt выдаются на 90 дней так что придётся чаще придется его обновлять.

Инструкция по получению сертификата:

Устанавливаем git

yum install git

Переходим в директорию /tmp

cd /tmp

С помощью git скачиваем файлы Let’s Encrypt. Сам скрипт теперь называется /certbot

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

Переходим в скачанную директорию

    cd certbot

Даем права на выполнение для файла скрипта

chmod a+x ./certbot-auto

кКоманда непосредственно получения сертификата

./certbot-auto certonly --webroot --agree-tos --email webmaster@my-site.ru -w /var/www/my-site.ru/ -d my-site.ru -d www.my-site.ru

После этого скрипт начнет работу и предложит установить недостающие пакеты. Соглашаемся и ждём.

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

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

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

-w /var/www/my-site.ru/ — указываем корневую директорию сайта;

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

Если все прошло успешно то мы увидим следующего плана сообщение:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/my-site.ru/fullchain.pem. Your
cert will expire on 2017-01-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 webmaster@my-site.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

Если уже использовали другие сертификаты то просто меняем пути:

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

Если еще не пользовались другими сертификатами то настраиваем:

server {
	listen   80 ;
	server_name my-site.ru www.my-site.ru;
	#Делаем 301 редирект с 80 порта на 443
	return 301 https://www.my-site.ru$request_uri; 
		}
server {
    listen          443 ssl;
    server_name     my-site.ru www.my-site.ru;

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

	ssl_certificate     /etc/letsencrypt/live/my-site.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/my-site.ru/privkey.pem;
	
    location / {
        proxy_pass http://127.0.0.1:81;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

После этого перезапускаем nginx

service nginx reload

Обновить сертификат можно командой

certbot-auto renew
#SSL #nginx

Copyright © 2019