Я всегда использовал certbot. Просто привычка. Начал с него и всегда пользуюсь именно им. Много раз слышал, что acme.sh более удобен и функционален. Плюс, не привязан к версии python. Он вообще не нужен, хотя для базовых систем это не принципиально. Python обычно есть на всех полноценных системах Linux.
Решил я посмотреть на acme.sh и сравнить с certbot. Устанавливается он просто:
# curl https://get.acme.sh | sh -s email=my@example.comОбязательно измените email. С указанным доменом example потом ничего выпустить не получится. Установщик делает 3 вещи:
1️⃣ Копирует скрипт acme.sh и некоторые конфиги в домашнюю директорию ~/.acme.sh/
2️⃣ Подключает в .bashrc окружение из ~/.acme.sh/acme.sh.env. По сути просто делает алиас
alias acme.sh="/root/.acme.sh/acme.sh".3️⃣ Добавляет в cron пользователя задачу на ежедневную попытку обновления сертификатов.
После этого можно сразу пробовать получить сертификат. Acme.sh поддерживает разные CA, поэтому надо явно указать letsencrypt:
# acme.sh --issue --server letsencrypt -d 329415.simplecloud.ru -w /var/www/htmlЕсли всё прошло без ошибок, то в директории ~/.acme.sh появится папка с именем домена, где будет лежать сертификат, ключ и некоторые настройки для этого домена. Теперь можно куда-то скопировать этот сертификат с ключом и перезапустить веб сервер. Например, в директорию /etc/nginx/certs/. Можно это сделать вручную, а можно через тот же acme.sh:
acme.sh --install-cert -d 329415.simplecloud.ru \--key-file /etc/nginx/certs/key.pem \--fullchain-file /etc/nginx/certs/cert.pem \--reloadcmd "service nginx force-reload"Если ранее Nginx был настроен на использование сертификата и ключа для этого домена из указанной директории, то он перечитает свой конфиг и автоматически подхватит новые файлы.
В целом, по использованию плюс-минус то же самое, что и в certbot. Какого-то явного удобства не увидел. Плюс только один - простая установка, так как это обычный bash скрипт без зависимостей. Но я по-прежнему буду использовать certbot, потому что мне больше нравится делать вот так:
# apt install certbotа не так:
# curl https://get.acme.sh | sh -Если кто-то пользуется acme.sh и знает его явные преимущества, прошу поделиться информацией.
⇨ Исходники
#webserver