Как установить SSL-сертификат Let's Encrypt для Ubuntu 20.04
Шифрование SSL / TLS является неотъемлемой частью сетевой инфраструктуры. Все web и почтовые сервера позволяют включить шифрование данных. В этой статье мы расскажем, как получить бесплатный SSL-сертификат Let's Encrypt.
Как получить бесплатный сертификат Let’s Encrypt:
- Установите пакет "Let's Encrypt"
- Используйте опцию автономного сервера для получения SSL-сертификата «Let's Encrypt»
- Используйте автоматическую установку SSL-сертификата на web-серверах nginx и Apache
- Создайте и установите Wildcard-сертификат «Let’s Encrypt»
В качестве начальных условий вам потребуется доменное имя. Его A-запись DNS должна содержать публичный адрес вашего сервера. Если брандмауэр включен, откройте доступ для трафика HTTP и HTTPS.
sudo ufw allow 80
sudo ufw allow 443
Шаг 1. Установка пакета «Let's Encrypt»
Процесс установки пакета «Let’s Encrypt» со всеми его зависимостями предельно прост - достаточно ввести команду:
sudo apt install letsencrypt
Вместе с пакетом «Let's Encrypt» эта команда также устанавливает утилиту «certbot.timer» для автоматического продления сертификата. Она проверяет действительность SSL-сертификатов в системе два раза в день и продлевает те, срок действия которых истекает в следующие 30 дней. Для проверки запуска утилиты введите:
sudo systemctl status certbot.timer
Существуют разные конфигурации и условия получения сертификата. Далее рассмотрим некоторые из них.
Step 2 – Автономный сервер для получения SSL-сертификата «Let's Encrypt»
Самый простой способ получить SSL-сертификат - использовать отдельную опцию в Certbot. Замените domain-name.com на свое доменное имя, выполните команду и следуйте инструкциям:
sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d domain-name.com
Параметр certonly означает, что сертификат будет получен только без установки на каком-либо web-сервере, standalone позволяет запускать собственный web-сервер для аутентификации, agree-tos - принятие ACME соглашения о подписке на сервер, являющемся предварительным условием, а preferred-challenges http - выполнение авторизации с использованием HTTP.
Step 3 – Автоматическая установка SSL-сертификата на web-серверах nginx и Apache
Certbot может автоматически устанавливать сертификат на web-серверы nginx и Apache. Для этого вам необходимо установить и выбрать подходящий дополнительный пакет для вашего сервера.
apt install python3-certbot-nginx
apt install python3-certbot-apache
Команда для nginx:
sudo certbot --nginx --agree-tos --preferred-challenges http -d domain-name.com
Для Apache:
sudo certbot --apache --agree-tos --preferred-challenges http -d domain-name.com
Следуйте инструкциям, и Certbot установит SSL-сертификат.
Step 4 – Wildcard-сертификат «Let’s Encrypt»
Единственный возможный метод создания Wildcard-сертификата - это DNS. В параметре d необходимо указать как пустой домен, так и wildcard.
sudo certbot certonly --manual --agree-tos --preferred-challenges dns -d domain-name.com -d *.domain-name.com
После этого поместите указанную запись TXT на свой DNS-сервер и нажмите «continue».
Если все в порядке, вы увидите путь хранения вашего нового Wildcard-сертификата и другую информацию.