Установка сертификата на NGINX с помощью acme.sh в Ubuntu

В одной из статей мы описали, как получить бесплатный сертификат SSL/TLS от Let’s Encrypt с помощью Certbot.

А в этой инструкции мы хотели бы показать вам другой способ. С помощью которого вы можете легко получить и продлить бесплатный сертификат SSL/TLS от Let’s Encrypt используя acme.sh скрипт на Ubuntu 20.04.

Если у вас еще нет рабочего веб-сервера NGINX, тогда обратитесь к этому руководству по установке NGINX. Как установить NGINX на Ubuntu 20.04 и разместить сайт.

Получение скрипта acme.sh

Скрипт оболочки linux acme.sh автоматизирует выдачу и обновление бесплатных сертификатов от Let’s Encrypt. Вы можете получить acme.sh скрипт скачав его непосредственно из интернета, либо путем клонирования из проекта git.

Скачать бесплатно acme.sh из интернета:

Выполните любую из двух приведенных ниже команд, чтобы загрузить и выполнить acme.sh сценарий.

$ curl https://get.acme.sh | sh

Или

$ wget -O — https://get.acme.sh | sh

Ниже приведен пример того, что вы увидите при выполнении скрипта.

$ wget -O - https://get.acme.sh | sh
--2021-02-16 11:55:47-- https://get.acme.sh/
Resolving get.acme.sh (get.acme.sh)… 2606:4700:3032::6815:223e, 2606:4700:3031::ac43:c710, 172.67.199.16, …
Connecting to get.acme.sh (get.acme.sh)|2606:4700:3032::6815:223e|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: unspecified [text/html]
Saving to: ‘STDOUT’
[ <=> ] 937 --.-KB/s in 0s
2021-02-16 11:55:47 (11.8 MB/s) - written to stdout [937]
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 204k 100 204k 0 0 3350k 0 --:--:-- --:--:-- --:--:-- 3350k
[Tue 16 Feb 2021 11:55:47 AM UTC] Installing from online archive.
[Tue 16 Feb 2021 11:55:47 AM UTC] Downloading https://github.com/acmesh-official/acme.sh/archive/master.tar.gz
[Tue 16 Feb 2021 11:55:47 AM UTC] Extracting master.tar.gz
[Tue 16 Feb 2021 11:55:47 AM UTC] It is recommended to install socat first.
[Tue 16 Feb 2021 11:55:47 AM UTC] We use socat for standalone server if you use standalone mode.
[Tue 16 Feb 2021 11:55:47 AM UTC] If you don't use standalone mode, just ignore this warning.
[Tue 16 Feb 2021 11:55:47 AM UTC] Installing to /home/shola/.acme.sh
[Tue 16 Feb 2021 11:55:47 AM UTC] Installed to /home/shola/.acme.sh/acme.sh
[Tue 16 Feb 2021 12:05:54 PM UTC] Installing alias to '/home/shola/.bashrc'
[Tue 16 Feb 2021 12:05:54 PM UTC] OK, Close and reopen your terminal to start using acme.sh
[Tue 16 Feb 2021 11:55:47 AM UTC] Installing cron job
47 0 * * * "/home/shola/.acme.sh"/acme.sh --cron --home "/home/shola/.acme.sh" > /dev/null
[Tue 16 Feb 2021 11:55:47 AM UTC] Good, bash is found, so change the shebang to use bash as preferred.
[Tue 16 Feb 2021 11:55:48 AM UTC] OK
[Tue 16 Feb 2021 11:55:48 AM UTC] Install success!

Клонировать acme.sh проект  с git

Выполните следующие команды по одной на строку, чтобы клонировать файл acme.sh  с сайта gitрги и выполнить скрипт.

$ git clone https://github.com/acmesh-official/acme.sh.git
$ cd acme.sh
$ ./acme.sh --install

Какой бы метод вы ни выбрали, как только вы увидите надпись "Install success!" это значит что вы можете закрыть окно терминала и снова открыть его, чтобы проверить правильность установки.

Чтобы проверить информация об использовании acme.sh, выполните следующую команду.

$ acme.sh -h

Вы также можете выполнить приведенную ниже команду, чтобы проверить acme.sh версия.

$ acme.sh —version

Создание сертификата

Чтобы сгенерировать сертификат для домена, выполните приведенную ниже команду.

Только замените yourdomain.com на ваш зарегистрированный. Кроме того, замените путь /var/www/yourdomain.com на корневую папку вашего домена.

$ acme.sh —issue -d yourdomain.com -w /var/www/yourdomain.com

При создании сертификата для нескольких доменов и поддоменов, совместно использующих одну и ту же корневую папку веб-сайта. Вы можете выполнить следующую команду для выдачи сертификата.

$ acme.sh —issue -d yourdomain.com -d www.yourdomain.com -d test.yourdomain.com -w /var/www/yourdomain.com

Установка сертификата на NGINX с помощью acme.sh

Получение и Установка сертификата на NGINX с помощью acme.sh в Ubuntu
Получение и Установка сертификата на NGINX с помощью acme.sh в Ubuntu

После создания сертификата выполните следующую команду, чтобы установить его на NGINX сервер.

$ acme.sh —install-cert -d yourdomain.com —key-file /path/to/keyfile/in/nginx/key.pem —fullchain-file /path/to/fullchain/nginx/cert.pem —reloadcmd «service nginx force-reload»

Примечание: также не забываем меня yourdomain.com на ваш домен.

Дополнительные параметры являются необязательными, за исключением домена.

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

Сертификаты будут храниться в  ~/.acme.sh/yourdomain.com и будут автоматически продлеваться каждые 60 дней.

Но вы также можете обновить сертификат вручную, если конечно захотите. Для обновления сертификата вручную, выполните вот такую команду.

$ acme.sh —renew -d yourdomain.com —force

Чтобы остановить обновление сертификата, выполните следующие действия.

$ acme.sh —remove -d yourdomain.com

Обновление скрипта acme.sh

Рекомендуется всегда использовать последнюю версию скрипта acme.sh. Для этого выполните такую команду, чтобы убедиться, что acme.sh обновляется автоматически.

$ acme.sh —upgrade —auto-upgrade

Чтобы отключить автоматическое обновление для acme.sh, выполните следующую команду.

$ acme.sh —upgrade —auto-upgrade 0

Если вам это не подходит и вы хотите обновлять acme.sh вручную, то используйте приведенную ниже команду.
$ acme.sh —upgrade

Заключение

В этой инструкции мы описали действия по получению и продлению бесплатных сертификатов SSL/TLS от компании Let’s Encrypt. С помощью скрипта оболочки Ubuntu acme.sh. Этот метод является альтернативой использованию инструмента Certbot.

Nazario

Я — Nazario, ведущий автор на guid.su, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку раздичных систем. Мои глубокие знания и обширный практический опыт в этих сферах позволяют мне создавать детальные руководства и учебные материалы, ценные для пользователей всех уровней.

Я стремлюсь делать сложные темы доступными и понятными, надеюсь что мой вклад в сообщество IT будет оценен по достоинству.

Моя работа направлена на образование и распространение знаний в области информационных технологий, помогая другим расширять свои возможности и углублять понимание современных технологий.

Guid: Linux и Windows
Добавить комментарий

  1. Worker

    tnx

    Ответить