Настройка SSL-сертификата Lets Encrypt с использованием Certbot и Apache в Debian Linux
В данной статье мы рассмотрим пошаговый процесс получения, установки и автоматического обновления SSL-сертификата Let’s Encrypt для домена с использованием Certbot и веб-сервера Apache на Debian Linux.
Рассмотрим получение SSL-сертификата с использованием метода webroot
для подтверждения владения доменом. Это делается с помощью флага --webroot
, который указывает путь к корневому каталогу веб-сервера.
Для выпуска сертификата необходим установленный и настроенный Apache с корректными виртуальным хостом и DNS-записями. На примере ниже будем рассматривать выпуск сертификата для домена — example.com
.
Подготовка к выпуску сертификата
JUQwJUEzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwQ2VydGJvdCUzQQ==
JUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUI0JUQwJUI4JUQxJTgwJUQwJUI1JUQwJUJBJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQxJThFJTIwJTJGdmFyJTJGd3d3JTJGbGV0c2VuY3J5cHQlMkMlMjAlRDAlQkElRDAlQkUlRDElODIlRDAlQkUlRDElODAlRDAlQjAlRDElOEYlMjAlRDAlQjElRDElODMlRDAlQjQlRDAlQjUlRDElODIlMjAlRDAlQjglRDElODElRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDElOEMlRDElODElRDElOEYlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQkYlRDElODAlRDAlQkUlRDAlQjIlRDAlQjUlRDElODAlRDAlQkElRDAlQjglMjAlRDAlQjIlRDAlQkIlRDAlQjAlRDAlQjQlRDAlQjUlRDAlQkQlRDAlQjglRDElOEYlMjAlRDAlQjQlRDAlQkUlRDAlQkMlRDAlQjUlRDAlQkQlRDAlQkUlRDAlQkMlMjAlRDAlQjglMjAlRDAlQkQlRDAlQjAlRDAlQjclRDAlQkQlRDAlQjAlRDElODclRDAlQjAlRDAlQjUlRDAlQkMlMjAlRDAlQjUlRDAlQjklMjAlRDElODElRDAlQkUlRDAlQkUlRDElODIlRDAlQjIlRDAlQjUlRDElODIlRDElODElRDElODIlRDAlQjIlRDElODMlRDElOEUlRDElODklRDAlQjglRDAlQjUlMjAlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQjAlM0E=
Certbot использует протокол ACME для проверки владения доменом. Для этого необходимо настроить доступ к специальной директории .well-known/acme-challenge
. Создаем конфигурацию /etc/apache2/conf-available/letsencrypt.conf
со следующим содержимым:
Alias /.well-known/acme-challenge/ /var/www/letsencrypt/.well-known/acme-challenge/
<Directory "/var/www/letsencrypt/.well-known/acme-challenge/">
JTIwJTIwJTIwJTIwT3B0aW9ucyUyME5vbmU=
AllowOverride None
ForceType text/plain
JTIwJTIwJTIwJTIwT3JkZXIlMjBhbGxvdyUyQ2Rlbnk=
JTIwJTIwJTIwJTIwQWxsb3clMjBmcm9tJTIwYWxs
RedirectMatch 404 "^(?!/\.well-known/acme-challenge/[\w-]{43}$)"
JTNDJTJGRGlyZWN0b3J5JTNF
RedirectMatch 404
разрешает доступ только к файлам, соответствующим шаблону ACME challenge (ровно 43 символа после пути /.well-known/acme-challenge/
), тем самым защищает директорию от несанкционированного доступа к другим файлам.Дополнительно
JUQwJTk1JUQxJTgxJUQwJUJCJUQwJUI4JTIwJUQwJUIyJUQwJUIwJUQxJTg4JTIwJUQwJUIyJUQwJUI4JUQxJTgwJUQxJTgyJUQxJTgzJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQxJTg1JUQwJUJFJUQxJTgxJUQxJTgyJTIwJUQxJTgzJUQwJUI2JUQwJUI1JTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI1JUQwJUJEJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQwJUI4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThGJTIwU1NMJTIwJUQwJUI4JTIwJUQwJUJGJUQxJTgwJUQwJUI4JTIwJUQwJUJFJUQwJUIxJUQxJTgwJUQwJUIwJUQxJTg5JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI4JTIwJUQwJUJBJTIwaHR0cCUzQSUyRiUyRmV4YW1wbGUuY29tJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUI4JUQxJTgxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQxJTgyJTIwJUQxJTgwJUQwJUI1JUQwJUI0JUQwJUI4JUQxJTgwJUQwJUI1JUQwJUJBJUQxJTgyJTIwJUQwJUJEJUQwJUIwJTIwaHR0cHMlM0ElMkYlMkZleGFtcGxlLmNvbSUyQyUyMCVEMSU4MiVEMCVCRSUyMCVEMCVCRCVEMSU4MyVEMCVCNiVEMCVCRCVEMCVCRSUyMCVEMSU4MyVEMCVCMSVEMCVCNSVEMCVCNCVEMCVCOCVEMSU4MiVEMSU4QyVEMSU4MSVEMSU4RiUyQyUyMCVEMSU4NyVEMSU4MiVEMCVCRSUyMCVEMCVCRSVEMCVCRiVEMSU4MCVEMCVCNSVEMCVCNCVEMCVCNSVEMCVCQiVEMSU5MSVEMCVCRCVEMCVCRCVEMSU4QiVEMCVCNSUyMCVEMCVCRiVEMSU4MyVEMSU4MiVEMCVCOCUyQyUyMCVEMSU4MiVEMCVCMCVEMCVCQSVEMCVCOCVEMCVCNSUyMCVEMCVCQSVEMCVCMCVEMCVCQSUyMCVEMCVCRiVEMSU4MyVEMSU4MiVEMSU4QyUyMCVEMCVCNCVEMCVCQiVEMSU4RiUyMEFDTUUlMjBDaGFsbGVuZ2UlMkMlMjAlRDAlQkQlRDAlQjUlMjAlRDAlQkYlRDAlQjUlRDElODAlRDAlQjUlRDAlQkQlRDAlQjAlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQkIlRDElOEYlRDElOEUlRDElODIlRDElODElRDElOEYuJTIwJUQwJUFEJUQxJTgyJUQwJUJFJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQwJUJFJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQxJTgzJUQxJTgxJUQwJUJGJUQwJUI1JUQxJTg4JUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQxJTg1JUQwJUJFJUQwJUI2JUQwJUI0JUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUJBJUQwJUI4JTIwJUQwJUI0JUQwJUJFJUQwJUJDJUQwJUI1JUQwJUJEJUQwJUIwLg==
JUQwJUE3JUQxJTgyJUQwJUJFJUQwJUIxJUQxJThCJTIwJUQxJTgwJUQwJUI1JUQwJUIwJUQwJUJCJUQwJUI4JUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQxJThEJUQxJTgyJUQwJUJFJTJDJTIwJUQwJUI4JUQwJUI3JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI4JUQxJTgyJUQwJUI1JTIwJUQwJUI4JUQwJUJCJUQwJUI4JTIwJUQwJUI0JUQwJUJFJUQwJUIxJUQwJUIwJUQwJUIyJUQxJThDJUQxJTgyJUQwJUI1JTIwJUQxJTgzJUQwJUJBJUQwJUIwJUQwJUI3JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQwJUJEJUQwJUI4JUQwJUI2JUQwJUI1JTIwJUQwJUIxJUQwJUJCJUQwJUJFJUQwJUJBJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwJUQwJUIyJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQwJUJBJUQwJUI4JTIwJUQwJUIyJUQwJUIwJUQxJTg4JUQwJUI1JUQwJUIzJUQwJUJFJTIwJUQwJUIyJUQwJUI4JUQxJTgwJUQxJTgyJUQxJTgzJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQxJTg1JUQwJUJFJUQxJTgxJUQxJTgyJUQwJUIwJTIwJUQwJUIyJTIwQXBhY2hlJTNB
a2enmod rewrite && systemctl restart apache2
Тестовый запуск Certbot
JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI0JTIwJUQwJUIyJUQxJThCJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUJFJUQwJUJDJTIwJUQxJTgwJUQwJUI1JUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQxJTgxJUQwJUI1JUQxJTgwJUQxJTgyJUQwJUI4JUQxJTg0JUQwJUI4JUQwJUJBJUQwJUIwJUQxJTgyJUQwJUIwJTIwJUQxJTgwJUQwJUI1JUQwJUJBJUQwJUJFJUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI0JUQxJTgzJUQwJUI1JUQxJTgyJUQxJTgxJUQxJThGJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQxJTgyJUQwJUI1JUQxJTgxJUQxJTgyJUQwJUJFJUQwJUIyJUQxJThCJUQwJUI5JTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJTJDJTIwJUQxJTg3JUQxJTgyJUQwJUJFJUQwJUIxJUQxJThCJTIwJUQxJTgzJUQwJUIxJUQwJUI1JUQwJUI0JUQwJUI4JUQxJTgyJUQxJThDJUQxJTgxJUQxJThGJTJDJTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQwJUIyJUQxJTgxJUQwJUI1JTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI1JUQwJUJEJUQwJUJFJTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUI4JUQwJUJCJUQxJThDJUQwJUJEJUQwJUJFLiUyMCVEMCU5OCVEMSU4MSVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMSU4MyVEMCVCOSVEMSU4MiVEMCVCNSUyMCVEMCVCQSVEMCVCRSVEMCVCQyVEMCVCMCVEMCVCRCVEMCVCNCVEMSU4MyUzQQ==
JUQwJTlGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQxJThCJTNB
--dry-run
: выполняет тестовый запуск без выпуска реального сертификата.--webroot
: указывает метод проверки владения доменом через веб-сервер.-w /var/www/letsencrypt
: указывает путь к директории, где certbot будет размещать файлы проверки.-d example.com -d www.example.com
: список доменов, для которых выпускается сертификат.
Если тест прошел успешно, вы увидите сообщение об успешной проверке. Если возникли ошибки, проверьте:
- Настройки DNS для доменов.
- Доступность директории
/var/www/letsencrypt
. - Конфигурацию Apache.
Выпуск реального сертификата
После успешного тестового запуска можно получить реальный сертификат. Используйте команду:
JUQwJTk0JUQwJUJFJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQxJTgyJUQwJUI1JUQwJUJCJUQxJThDJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTNB
--agree-tos
: автоматически соглашается с условиями использования Let’s Encrypt.--email admin@example.com
: указывает контактный email для уведомлений (например, о необходимости обновления сертификата).
JUQwJTlGJUQwJUJFJUQxJTgxJUQwJUJCJUQwJUI1JTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQxJThCJTIwY2VydGJvdCUzQQ==
- Создаст файлы проверки в директории
/var/www/letsencrypt/.well-known/acme-challenge/
. - Пройдет проверку владения доменом.
- Сохранит сертификаты в директорию
/etc/letsencrypt/live/example.com/
.
Настройка автоматического обновления сертификата
JUQwJUExJUQwJUI1JUQxJTgwJUQxJTgyJUQwJUI4JUQxJTg0JUQwJUI4JUQwJUJBJUQwJUIwJUQxJTgyJUQxJThCJTIwTGV0JUUyJTgwJTk5cyUyMEVuY3J5cHQlMjAlRDAlQjQlRDAlQjUlRDAlQjklRDElODElRDElODIlRDAlQjIlRDAlQjglRDElODIlRDAlQjUlRDAlQkIlRDElOEMlRDAlQkQlRDElOEIlMjA5MCUyMCVEMCVCNCVEMCVCRCVEMCVCNSVEMCVCOSUyQyUyMCVEMCVCRiVEMCVCRSVEMSU4RCVEMSU4MiVEMCVCRSVEMCVCQyVEMSU4MyUyMCVEMCVCMiVEMCVCMCVEMCVCNiVEMCVCRCVEMCVCRSUyMCVEMCVCRCVEMCVCMCVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCRSVEMCVCOCVEMSU4MiVEMSU4QyUyMCVEMCVCOCVEMSU4NSUyMCVEMCVCMCVEMCVCMiVEMSU4MiVEMCVCRSVEMCVCQyVEMCVCMCVEMSU4MiVEMCVCOCVEMSU4NyVEMCVCNSVEMSU4MSVEMCVCQSVEMCVCRSVEMCVCNSUyMCVEMCVCRSVEMCVCMSVEMCVCRCVEMCVCRSVEMCVCMiVEMCVCQiVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCNS4=
Настройка хука для обновления
JUQwJTlGJUQxJTgwJUQwJUI4JTIwJUQwJUIyJUQxJThCJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUI1JTIwJUQxJTgxJUQwJUI1JUQxJTgwJUQxJTgyJUQwJUI4JUQxJTg0JUQwJUI4JUQwJUJBJUQwJUIwJUQxJTgyJUQwJUIwJTIwY2VydGJvdCUyMCVEMSU4MSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCNSVEMSU4MiUyMCVEMSU4NCVEMCVCMCVEMCVCOSVEMCVCQiUyMCVEMCVCQSVEMCVCRSVEMCVCRCVEMSU4NCVEMCVCOCVEMCVCMyVEMSU4MyVEMSU4MCVEMCVCMCVEMSU4NiVEMCVCOCVEMCVCOCUyMCVEMCVCRSVEMCVCMSVEMCVCRCVEMCVCRSVEMCVCMiVEMCVCQiVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4RiUyMCVEMCVCMiUyMCVEMCVCQSVEMCVCMCVEMSU4MiVEMCVCMCVEMCVCQiVEMCVCRSVEMCVCMyVEMCVCNSUyMCUyRmV0YyUyRmxldHNlbmNyeXB0JTJGcmVuZXdhbCUyRi4lMjAlRDAlQTclRDElODIlRDAlQkUlRDAlQjElRDElOEIlMjBBcGFjaGUlMjAlRDAlQkYlRDAlQjUlRDElODAlRDAlQjUlRDElODclRDAlQjglRDElODIlRDElOEIlRDAlQjIlRDAlQjAlRDAlQkIlMjAlRDAlQkElRDAlQkUlRDAlQkQlRDElODQlRDAlQjglRDAlQjMlRDElODMlRDElODAlRDAlQjAlRDElODYlRDAlQjglRDElOEUlMjAlRDAlQkYlRDAlQkUlRDElODElRDAlQkIlRDAlQjUlMjAlRDAlQkUlRDAlQjElRDAlQkQlRDAlQkUlRDAlQjIlRDAlQkIlRDAlQjUlRDAlQkQlRDAlQjglRDElOEYlMjAlRDElODElRDAlQjUlRDElODAlRDElODIlRDAlQjglRDElODQlRDAlQjglRDAlQkElRDAlQjAlRDElODIlRDAlQjAlMkMlMjAlRDAlQjQlRDAlQkUlRDAlQjElRDAlQjAlRDAlQjIlRDElOEMlRDElODIlRDAlQjUlMjAlRDAlQkYlRDAlQjAlRDElODAlRDAlQjAlRDAlQkMlRDAlQjUlRDElODIlRDElODAlMjByZW5ld19ob29rJTNB
Этот параметр указывает, что после успешного обновления сертификата будет выполнен перезапуск apache, чтобы применить изменения.
Проверка обновления
JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUJBJUQwJUI4JTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQwJUJFJUQxJTgxJUQwJUJGJUQwJUJFJUQxJTgxJUQwJUJFJUQwJUIxJUQwJUJEJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI4JTIwJUQwJUJFJUQwJUIxJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJCJUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQxJTgyJUQwJUI1JTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQxJTgzJTNB
Если тест прошел успешно, certbot автоматически обновит сертификаты при необходимости.
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Обсуждение
Нет комментариев.