26 июл. 2022 г.

Получаем бесплатный сертификат для HTTPS версии сайта с помощью Certbot.

 В итоге мы получим сертификат от Lets Encrypt на 90 дней, который будет автоматически перевыпускаться ботом. Актуально для блогов и т. п. не коммерческих сайтов, чтобы не платить лишнего за сертификат.

В статье подразумевается, что ваша система Debian 9/10 или Ubuntu 20.04/22.04. Для дригих Linux систем команды могут быть чуть другие.

Устанавливаем snapd (если ещё не установлен):

sudo apt install snapd

Обновляем установленный snapd:

sudo snap install core; sudo snap refresh core

Устанавливаем Certbot:

sudo snap install --classic certbot

Создаём ссылку на команду certbot:

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Запускаем certbot или в полностью автоматическом режиме (для апача):

sudo certbot --apache

Или в режиме только создания сертификата (а в конфиг апача вам уже самим придётся добавить строчки о сертификате и ключе):

sudo certbot certonly --apache

Тестируем автоматическую перегенерацию:

sudo certbot renew --dry-run

Возможные пути нахождения задания перегенерации:

/etc/crontab/
/etc/cron./
systemctl list-timers

Добавляем вручную в конфиг апача сертификат, если выбран ручной режим. Открываем конфиг виртуалхоста:

nano /etc/apache2/sites-enabled/site.conf

И вписываем пути к полученному выше сертификату и ключу:

SSLCertificateKeyFile /etc/letsencrypt/live/domain/privkey.pem    SSLCertificateFile /etc/letsencrypt/live/domain/fullchain.pem

Сохраняем и перезапускаем апач:

service apache2 restart

Проверяем, что сертификат заработал, зайдя в веб-браузере на ваш сайт https://... из из приватного режима/другого браузера или предварительно почистив куки, связанные с вашим сайтом. Иначе браузер не подхватит изменения "на лету" и всё равно будет показывать, что соединение не защищено.

Если хром, то клацаем на замочек, затем на Connection is secure, потом на Certificate is valid.


Ссылки:

  1. https://certbot.eff.org/instructions?ws=apache&os=debianbuster

Комментариев нет:

Отправить комментарий