Как сделать HTTPS на сайте

Установка Let’s Encrypt клиента

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-apache

Генерация SSL-сертификатов

$ sudo certbot --apache -d example.com -d www.example.com
https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

$ sudo certbot --apache -d test.com -d www.test.com
https://www.ssllabs.com/ssltest/analyze.html?d=test.com&latest

Обновление SSL-сертификатов

Сертификаты выдаются на 90 дней поэтому их нужно обновлять.

Холостое обновление (просто для тестирования, как оно работает):
$ certbot renew --dry-run

Можно запланировать обновление через crontab:
$ sudo crontab -e
. . .
15 3 * * * /usr/bin/certbot renew --quiet

Настройка файрвола

sudo ufw allow in on eth0 from any to ##.##.##.### port 443 proto tcp
sudo ufw allow out on eth0 from ##.##.##.### to 23.193.72.10 port 443 proto tcp

На 443 порт юзеры приходят по HTTPS-протоколу.

23.193.72.10 - это IP-адрес сервера acme-staging.api.letsencrypt.org, на который бот ходит смотреть обновления.


Полезные ссылки по теме: