Быстро, доступно, безопасно!
Магазин готовых сайтов

Установка 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

Опрос

В каком году был сделан ваш сайт? (голосов: 24)

  • до 2015 года - 23 (96%)
  • в 2015 - 0 (0%)
  • в 2016 - 0 (0%)
  • в 2017 - 0 (0%)
  • в 2018 - 1 (4%)
  • в 2019 - 0 (0%)