Установка SSL сертификата на FreeBSD
Для работы по безопасному протоколу HTTPS потребуется SSL- сертификат, подписанный общепризнанным Центром Сертификации. Используем ЦС Let’s Encrypt.
Настройка сервера на FreeBSD 13.2 -> SSL сертификаты
Для автоматизации выпуска и установки сертификата потребуется ACME-клиент Certbot.
Устанавливаем Certbot: pkg install py39-certbot
Важно! Перед тем, как сделать запрос на выдачу SSL-сертификата:
- вносим изменения в конфигурационный файл Apache httpd.conf;
- создаем в файле vhosts.conf запись для соответствующего виртуального хоста;
- создаем необходимые директории на виртуальном хосте:
если они ещё не созданы: mkdir -p /home/example/public_html/.well-known/acme-challengeи устанавливаем их владельцем вебсервер Apache, чтобы он мог создавать там файлы, необходимые для подтверждения владения доменом.
Запрашиваем сертификат: certbot certonly --webroot -w /home/example/public_html -d example.com -d www.example.comв случае успешного завершения задачи мы должны получить такой результат: Successfully received certificate.
Certificate is saved at: /usr/local/etc/letsencrypt/live/example.com/fullchain.pem
Key is saved at: /usr/local/etc/letsencrypt/live/example.com/privkey.pemпроверить автоматическое продление: certbot renew --dry-runредактируем файл: /etc/defaults/periodic.confдобавляем в него следующую строку в соответствующий раздел (weekly): weekly_certbot_enable="YES"
Теперь SSL сертификат установлен и его автоматическое продление активировано. Но просто получить новый сертификат недостаточно, надо ещё и перезагрузить веб-сервер Apache, чтобы он начал использовать новый сертификат.
Для этого в специально отведенном каталоге создаем исполняемый скрипт, который будет запускаться после каждого успешного обновления сертификатов: vim /usr/local/etc/letsencrypt/renewal-hooks/deploy/restart_apache.shи добавляем туда следующий код: #!/bin/sh
service apache24 gracefulсохраняем файл и делаем его исполняемым: chmod +x /usr/local/etc/letsencrypt/renewal-hooks/deploy/restart_apache.sh
Теперь система настроена, SSL сертификаты будут автоматически обновляться, а веб-сервер Apache будет плавно перезагружаться с применением новых сертификатов.
Удаление SSL сертификата
Отозвать сертификат: certbot revoke --cert-path /usr/local/etc/letsencrypt/live/example.com/fullchain.pemможет потребоваться удалить файлы относящиеся к "example.com" в следующих директориях: /usr/local/etc/letsencrypt/accounts
/usr/local/etc/letsencrypt/archive
/usr/local/etc/letsencrypt/live
/usr/local/etc/letsencrypt/renewal
Метки: ssl
Опрос
Адаптирован ли ваш сайт для смартфонов и планшетов? (голосов: 33)
- Да - 4 (12%)
- Нет - 2 (6%)
- Не знаю - 1 (3%)
- Нет сайта - 26 (79%)