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