Введение
Let's Encrypt — это бесплатный, автоматизированный и открытый центр сертификации. Он позволяет создавать и устанавливать бесплатные сертификаты TLS на веб-сервере с помощью нескольких аргументов командной строки. С Let's Encrypt вы можете предоставить HTTPS на своем веб-сайте для каждого пользователя, не тратя денег и не беспокоясь о датах продления.
Certbot предоставляет простой способ создания бесплатных сертификатов Let's Encrypt для всех веб-сайтов, которые поддерживают HTTP и передают свой контент через HTTPS. В этой статье мы увидим, как использовать Certbot для автоматизации процесса создания сертификата Let's Encrypt.
Установить Сертбот
В большинстве систем Linux пакет certbot находится в репозиториях пакетов по умолчанию. Certbot — это инструмент для получения сертификатов от Let’s Encrypt и их настройки на вашем веб-сервере. Пакет Snap — это самый простой способ установить certbot в системе Ubuntu.
Откройте терминал и выполните следующую команду для установки certbot:
sudo snap install --classic certbot
Как только будет доступна новая версия certbot, Snap автоматически обновит пакет.
Создайте SSL-сертификат с Certbot
Теперь вы можете запрашивать SSL-сертификаты у Let's encrypt на основе веб-сервера. Мы обсудили 4 способа получения нового SSL-сертификата, которые зависят от веб-сервера, работающего в вашей системе. Возможно, в системе не работает веб-сервер.
Затем выберите правильный метод в соответствии с вашей средой:
Веб-сервер не запущен
В случае, если у вас нет веб-сервера, работающего в вашей системе. Вы можете --standalone
выбрать завершение проверки домена, указав на поддельный веб-сервер. Этот коммутатор должен быть подключен к порту 80
для выполнения проверки домена.
sudo certbot certonly --standalone
Если вы запускаете certbot впервые, вам будет предложено принять условия и указать адрес электронной почты для отправки уведомлений.
Вы также можете указать входные данные из командной строки, например:
sudo certbot certonly --standalone -d example.com --staple-ocsp -m [email protected] --agree-tos
Сертбот с Apache
Системы, на которых работает веб-сервер Apache, выполняют следующую команду. В нем будут перечислены все домены/поддомены, настроенные на вашем веб-сервере. Выберите соответствующие номера для запроса сертификата.
sudo certbot --apache
Это прочитает файлы конфигурации Apache и перечислит все настроенные доменные имена. Введите номер домена, для которого вы хотите выпустить сертификат. Вы можете ввести несколько номеров, разделенных запятыми.
После подтверждения права собственности на домен будет выдан сертификат и создан файл конфигурации Apache с настройками SSL.
Сертбот с Nginx
Для систем с веб-сервером Nginx используйте следующую команду для запроса SSL-сертификатов.
sudo certbot --nginx -d example.com -d www.example.com
Некоторые другие веб-серверы работают
Для системы с другим работающим веб-сервером, кроме Apache или Nginx. Таким образом, вы можете просто получить сертификат и настроить их вручную.
Эта команда запросит у вас доменное имя и корень документа для домена.
sudo certbot certonly --webroot
Вы также можете передать доменное имя и/или корень документа в командной строке.
sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com
При использовании вышеуказанных команд домен должен быть указан на сервер в DNS. Также убедитесь, что /.well-known/acme-challenge
обслуживается веб-сервером.
Просмотр файлов сертификатов
После того, как сертификат выдан центром Lets Encrypt. Все файлы сертификатов создаются в каталоге /etc/letsencrypt. Если ваше доменное имя — example.com, файлы будут созданы в следующем месте.
ls -l /etc/letsencrypt/live/example.com/
-rw-r--r-- 1 root root 692 Mar 9 06:59 README
lrwxrwxrwx 1 root root 37 Sep 6 09:56 cert.pem ->../../archive/example.com/cert1.pem
lrwxrwxrwx 1 root root 38 Sep 6 09:56 chain.pem ->../../archive/example.com/chain1.pem
lrwxrwxrwx 1 root root 42 Sep 6 09:56 fullchain.pem ->../../archive/example.com/fullchain1.pem
lrwxrwxrwx 1 root root 40 Sep 6 09:56 privkey.pem ->../../archive/example.com/privkey1.pem
Измените example.com
на свое доменное имя, чтобы получить правильные файлы.
Вывод
Let’s Encrypt — это центр сертификации, который предоставляет бесплатные SSL-сертификаты для общедоступных веб-сайтов. Мы можем выпустить сертификаты на любое количество доменов. SSL-сертификаты выдаются только на 3 месяца, затем их нужно продлевать. Certbot — это утилита командной строки, которая помогает управлять SSL-сертификатами Let’s Encrypt. С помощью certbot мы можем выпустить новый сертификат, обновить и удалить его.
Я надеюсь, что это руководство поможет вам работать с Certbot для управления SSL-сертификатом в вашей системе.