Установка бесплатного сертификата ssl/https от letsencrypt.org

Letsencrypt является некоммерческой организацией, которая с 2015 года предоставляет шифрование сервера и подписывает сертификаты. Таким сертификатом можно настроить шифрованный протокол https на своем сайте, интернет-магазине или просто визитке.

Устанавливаем программу сертификации от letsencrypt

для начала, если у вас не установлен git устанавливаем

$ sudo apt-get install git

Теперь клонируем программу

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

cd letsencrypt

Проверяем и запускаем

./letsencrypt-auto --help

Для того, чтобы создать сертификат нужно остановить nginx

/etc/init.d/nginx stop

Создание SSL сертификата для https протокола

С генерируем сертификат в автоматическом режиме

./letsencrypt-auto certonly --standalone -d site.ru -d www.site.ru

вместо site.ru подставить имя своего домена или поддомена. Вы можете указать через пробел дополнительные домены -d site2.ru -d site3.ru

Созданный SSL сертификат сертификат и вся цепочка сохранится по следующему пути:

/etc/letsencrypt/live/site.ru/

Файлы SSL сертификата

privkey.pem - приватный ключ для сертификата. В Apache для директивы SSLCertificateKeyFile. В Nginx для директивы ssl_certificate_key.

cert.pem - сертификат сервера. Для директивы Apache SSLCertificateFile.

fullchain.pem - вся связка сертификатов (объединение chain.pem и cert.pem). Используется в Nginx для ssl_certificate.

Имеено fullchain.pem нужно подключить в настройках nginx

Стартуем nginx

/etc/init.d/nginx start

Подключение SSL в nginx

listen 127.0.0.1:443 ssl;

if ($scheme = http) {

    return 301 https://$server_name$request_uri;

 }

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

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

   ssl_session_timeout 5m;

   ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;

   ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";

   ssl_prefer_server_ciphers on;

В случае, если Apache

В секцию <virtualhost></virtualhost> вставляем

SSLEngine on

SSLCertificateFile /etc/letsencrypt/live/site.ru/cert.pem

SSLCertificateKeyFile /etc/letsencrypt/live/site.ru/privkey.pem

Чтобы изменения вступили силу нужно перезагрузить

/etc/init.d/apache2 restart

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

./letsencrypt-auto renew


Комментарии к статье
Защита от роботов