Установка сертификатов от Let's Encrypt с помощью acme.sh (версия 2019 года)
В этой статье опишу небольшую инструкцию для установки сертификата с помощью acme.sh на базе алгоритма ECDSA P-384, этот алгоритм имеет высокий уровень быстродействия и защищенности. Например 256 битный ECDSA соответствует 3072 битному RSA по степени защиты, но при этом скорость работы в несколько раз выше. Установка acme.sh 1 curl https://get.acme.sh | sh Получение сертификата Метод 1 : использование одной и той же директории для всех acme challenge запросов Первоначально нам необходимо создать файл acme.conf в директории /etc/nginx/common/ со следующим содержанием: 1 location /.well-known/acme-challenge/ { alias /var/www/html/.well-known/acme-challenge/; } После этого установим пользователя www-data (или вашего) владельцем директории /var/www/html : 1 chown -R www-data:www-data /var/www/html Последним шагом нам нужно включить acme.conf в вашу конфигурацию виртуального хоста nginx, добавлением следующей строки : 1 include common/acme.conf; Перечитываем конфигурацию nginx командой service nginx reload и уже сейчас вы можете получить свой первый сертификат с помощью acme.sh: ECDSA Certificates (384 Bits) 1 acme.sh --issue -d yourdomain.tld -d www.yourdomain.tld -d blog.yourdomain.tld --keylength ec-384 -w /var/www/html Метод 2 : используем Cloudflare DNS API Настраиваем ваши API ключи 1 2 export CF_Key="sdfsdfsdfljlbjkljlkjsdfoiwje" export CF_Email="[email protected]" ECDSA Certificates (384 Bits) 1 acme.sh --issue -d yourdomain.tld -d www.yourdomain.tld -d blog.yourdomain.tld --keylength ec-384 --dns dns_cf Устанавливаем SSL сертификат в Nginx НЕ ИСПОЛЬЗУЙТЕ сертификаты в директории ~/.acme.sh/, они только для служебного использования, структура директории может измениться в будущем. Создайте директорию для хранения ваших сертификатов в продакшене. ...