раздел 02

Установка и получение сертификата

Самая частая дорога: у вас VPS с Linux, на нём стоит веб-сервер nginx, и вы хотите включить HTTPS. В большинстве случаев это одна команда. Но сначала - проверьте предусловия, иначе проверка владения доменом не пройдёт.

Что должно быть готово заранее

1
Домен указывает на сервер
В DNS вашего домена должна быть A-запись, которая ведёт на IP вашего сервера. Иначе центр не достучится до сайта.
2
Открыт порт 80
Через него идёт проверка HTTP-01. Если порт закрыт фаерволом - проверка провалится.
3
Открыт порт 443
По нему работает сам HTTPS после получения сертификата.

Установка Certbot

Рекомендуемый способ - через snap (он сам обновляет Certbot). На многих системах есть и установка через пакетный менеджер apt, реже - через pip. Команды выполняют с правами администратора (sudo).

Установка через snap:

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

Альтернатива через apt (на Debian/Ubuntu):

sudo apt update
sudo apt install certbot python3-certbot-nginx

Получение сертификата для nginx

Если на сервере уже работает nginx и в нём настроен ваш домен, проще всего отдать всю работу плагину. Он сам пройдёт проверку, получит сертификат, поправит конфиг nginx и включит HTTPS:

sudo certbot --nginx

Certbot спросит почту (для уведомлений о продлении) и предложит выбрать домен из тех, что найдёт в конфиге nginx. После этого сайт откроется по https, и автопродление будет настроено автоматически.

Если веб-сервера ещё нет: standalone

Когда nginx ещё не настроен или вы хотите получить сертификат отдельно, используют режим standalone. Certbot на время сам поднимет маленький веб-сервер на порту 80, чтобы пройти проверку:

sudo certbot certonly --standalone -d example.com

Здесь example.com - плейсхолдер, подставьте свой домен. Есть и третий путь - webroot, когда файл проверки кладётся в папку уже работающего сайта; он удобен, если не хочется, чтобы Certbot трогал конфиг.