Поиск по сайту:

Как создать SSL-сертификаты Let’s Encrypt в Linux |


Как установить Let’s Encrypt в Linux? В сегодняшнем руководстве я хотел бы показать вам самый простой и быстрый способ установки Let’s Encrypt в Linux. Процесс состоит из нескольких шагов и действительно автоматизирован. Цель здесь — использовать сценарий начальной загрузки certbot от EFF для запроса SSL-сертификата для вашего веб-сайта у Let’s Encrypt.

Certbot — это простой в использовании клиент, который получает сертификат из Let’s Encrypt — открытого центра сертификации, запущенного EFF, Mozilla и другими, и развертывает его на веб-сервере.

Ниже приведены шаги, которые необходимо выполнить:

Скачать инструмент сертификатбота

Используйте команды ниже, чтобы загрузить certbot в вашу систему:

# Ubuntu / Debian
sudo apt-get update
sudo apt-get install certbot

# Fedora
sudo dnf install certbot python2-certbot-nginx
sudo dnf install certbot python2-certbot-apache

# CentOS 8
sudo dnf -y install epel-release
sudo dnf -y install certbot

# CentOS 7
sudo yum -y install epel-release
sudo yum -y install certbot

Прежде чем вы сможете запросить сертификат SSL, откройте порт 443 на брандмауэре. В этой демонстрации предполагается, что вы используете CentOS 7.x, чья система брандмауэра — firewalld. Если у вас есть другие системы, такие как Ubuntu или Debian, система брандмауэра может быть другой.

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Создание SSL-сертификатов Let’s Encrypt

Возможно, вам придется остановить веб-сервер перед созданием SSL:

### Apache ###
sudo systemctl stop apache2 #Debian / Ubuntu
sudo systemctl stop httpd #RHEL based

### Nginx ###
sudo systemctl stop nginx

Теперь запросите SSL-сертификат:

sudo certbot certonly -d  mydomain.com -d www.mydomain.com

Когда вы сделаете первый запрос, скрипт установит необходимые пакеты/зависимости и настроит виртуальную среду.

Обратите внимание, что вам нужна активная DNS-запись A для указанного домена. Для  www.mydomain.com это может быть запись CNAME.

Ответьте на несколько вопросов в командной строке, и в кратчайшие сроки вы получите SSL-сертификат и закрытый ключ. Местоположение по умолчанию: /etc/letsencrypt/live.

Обновление сертификатов
sudo certbot  --renew

Автоматическое продление с использованием –pre-hook и –post-hook

### For nginx ###
sudo /usr/bin/certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"

### For apache ###
sudo /usr/bin/certbot renew --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2"

Для принудительного продления вручную:

sudo certbot renew --force-renewal

Если вы хотите использовать задания cron, в вашем crontab должна быть строка, похожая на приведенную ниже:

15 3 * * * /usr/bin/certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx nginx"

Подробнее о Давайте зашифруем:

  • Защитите сервер FreeIPA с помощью SSL-сертификата Let’s Encrypt
  • Безопасная платформа управления проектами Taiga с помощью Let’s Encrypt SSL

Статьи по данной тематике: