Есть несколько популярных методов генерации SSL и TLS сертификатов в Linux. Одним из самых популярных методов выдачи SSL-сертификатов является Let's encrypt, который является центром сертификации, предлагающим бесплатные SSL-сертификаты. Существует еще более простой способ выдачи сертификата, который не требует каких-либо зависимостей и требований. Это acme.sh скрипт, написанный в оболочке, позволяет легко генерировать и устанавливать SSL-сертификаты в Linux-системах. В этой статье мы узнаем, как установить acme.sh скрипт в системе Linux и как его использовать для генерации и установки SSL-сертификатов.
acme.sh Установка
Установка acme.sh это простой и понятный процесс. Для установки приложения выполните следующие действия.
Метод1 : Использование команды curl
Метод2: использование репозитория git
После завершения установки выполните следующую команду для проверки.
Вывод:
Сгенерировать SSL сертификат
Генерация SSL-сертификатов с помощью acme.sh это очень простой процесс. Выполните следующие действия, чтобы сгенерировать сертификат.
Создайте сертификат для одного домена с помощью режима webroot.
Создайте сертификат для нескольких доменов в одном сертификате
Где,
/home/wwwroot/vtx.com-это папка webroot, в которой размещен файл веб-сайта. Не забудьте предоставить доступ на запись в папку webroot.
vtx.com это доменное имя, которое я использовал для генерации SSL-сертификатов. Вы можете выбрать свое доменное имя соответственно.
Все доменные имена должны быть указаны в одном каталоге webroot.
Сгенерированный SSL-сертификат будет находиться в каталоге ~/.acme.sh/<доменное имя>
Где domain-name-это каталог, созданный с вашим доменом, предоставленным при генерации сертификата.
Выдать сертификат с помощью автономного сервера
Используйте следующую команду для создания SSL-сертификата с помощью автономного сервера.
Для одного домена
Для нескольких доменов
Для TCP-порта 80 требуется разрешение пользователя Sudo или root. Порт 80 должен быть свободным на сервере.
Создание SSL-сертификата с помощью автономного SSL-сервера
Используйте следующую команду для создания SSL-сертификата с помощью автономного SSL-сервера. При создании сертификата учитывайте собственное доменное имя.
Для TCP-порта 443 требуется разрешение пользователя Sudo или root. Кроме того, не забудьте освободить порт 443 , иначе появятся подсказки, чтобы освободить его.
Используйте Apache mode для генерации сертификатов
Режим Webroot рекомендуется для генерации ssl-сертификата для запуска веб-сервера. Если Apache используется в качестве веб-сервера, то для выдачи сертификата можно использовать Apache mode. Этот режим не записывает файлы в каталог webroot.
Этот режим должен взаимодействовать с веб - сервером Apache, поэтому вам необходимо иметь привилегию root/sudo.
Приведенная выше команда сгенерирует только файл сертификата. Для установки сертификата необходимо указать каталог файла сертификата в файле конфигурации apache.
Используйте nginx mode для выдачи сертификата
В частности, если вы используете nginx в качестве веб-сервера, вместо режима webroot можно использовать режим nginx. Все, что вам нужно, это привилегия root/sudo, так как это взаимодействует с веб-сервером nginx. Этот режим не будет записывать файлы в каталог webroot.
Приведенная выше команда сгенерирует только сертификат. Вам нужно указать каталог файла сертификата в файле конфигурации nginx для установки.
Выдать сертификат для подстановочного домена
Создание сертификатов для подстановочных доменов несложно. Вместо параметра-d используйте подстановочный домен:
Параметр-dns указывает, какой DNS-хостер вы используете, dns_cf означает cloudflare.
Обновите Let's Encrypt SSL Certificate с acme.sh
Во время установки acme.sh , он создает cronjob для обновления SSL - сертификата каждые 60 дней. Таким образом, вам не нужно обновлять сертификат вручную. Однако вы можете обновить сертификат с помощью опции force следующим образом:
Чтобы найти задание cron, выполните следующую команду.
Каталог файлов журнала
Файл журнала acme.sh находится в каталоге ~/.acme.sh Генерация файлов журнала по умолчанию не включена . Внесите следующие изменения в файл account.conf.
Теперь используйте следующую команду, чтобы найти сгенерированный файл журнала.
Заключение
В этой статье мы узнали, как установить acme.sh скрипт для генерации SSL-сертификатов в системах Linux. Я показал вам, как генерировать SSL сертификаты для нескольких доменов одновременно и как обновить SSL сертификаты.