Как создать 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