Установка TLS/SSL сертификата Let’s Encrypt для Nginx на сервере с Arch Linux

В этом руководстве мы разберём процесс получения и установки бесплатного TLS/SSL сертификата от Let’s Encrypt на сервере с Arch Linux, используя Nginx.

Получение бесплатного TLS/SSL сертификата от Let’s Encrypt

Сначала необходимо установить клиент Let’s Encrypt, который можно найти в репозитории сообщества Arch Linux. Для установки выполните следующую команду.

sudo pacman - S certbot

Для получения сертификата для веб-сервера Nginx можно использовать два плагина: standalone и Webroot. Я рекомендую выбрать Webroot, так как у него есть два преимущества по сравнению с standalone при выдаче и обновлении сертификатов.

  • Плагин standalone требует запуска отдельного временного веб-сервера, из-за чего необходимо остановить Nginx. С плагином Webroot это не требуется, и вы можете продолжать использовать Nginx без перерыва.
  • Плагин standalone для проверки домена требует привязки вашего доменного имени к IP-адресу исходного сервера. Это означает, что при использовании CDN-сервиса, например, CloudFlare, необходимо временно открыть доступ к вашему исходному серверу во время получения или обновления сертификата. Однако, при использовании плагина Webroot этого делать не нужно.
Читайте также:  Как запустить и настроить FTP сервер в Linux

Плагин Webroot выполняет проверку, создавая временный файл в директории your-web-root/.well-known/acme-challenge/.

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

sudo cerrbot certonly --webroot --email - d www. example.com - d example.com - w /usr/share/nginx/example.com/

Подкоманда certonly инструктирует клиента letsencrypt получить сертификат, но не производить его установку, так как на данный момент автоматическая настройка для Nginx этим клиентом не поддерживается.

Если вы пользуетесь CDN-сервисом, например, CloudFlare, возможно, вам потребуется активировать SSL в настройках вашего CDN.

Автоматическое обновление вашего сертификата.

Сертификаты Let’s Encrypt имеют срок действия 90 дней. Для их продления достаточно повторно выполнить ту же команду. Для автоматического продления сертификата можно внести изменения в crontab пользователя root.

Читайте также:  Как установить Apache Solr на CentOS/RHEL 9/8

sudo crontab - e

Затем настройте задачу cron для её ежемесячного выполнения, как указано ниже. Не забудьте заменить адрес электронной почты и доменное имя.

@monthly certbot renew --quiet

Команда будет запускаться в полночь первого числа каждого месяца.

Команда будет запускаться в полночь первого числа каждого месяца.