Введение
Let’s Encrypt — это центр сертификации (ЦС), который автоматизирует бесплатное создание, проверку, выпуск и обновление сертификатов X.509 для протокола TLS/SSL, обеспечивая шифрование HTTPS на веб-серверах.
В этом руководстве мы будем использовать Certbot, чтобы получить бесплатный SSL-сертификат для Nginx в Debian и настроить сертификат для автоматического обновления.
Certbot — это простой в использовании автоматизированный клиент, который извлекает и распространяет сертификаты SSL/TLS для веб-сервера.
Если вы намерены установить Let's Encrypt для Nginx на удаленный сервер, продолжайте чтение, в противном случае, если вы хотите установить Let's Encrypt для Nginx на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти в систему с другим именем пользователя, используя ту же команду, а затем изменить root на свое имя пользователя:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Теперь вы подключены к своему серверу и готовы приступить к установке Certbot.
Предпосылки
Следуйте этому руководству, чтобы установить Nginx: Как установить LEMP Nginx MySQL PHP на Debian 10.
Установить Сертбот
Первым шагом в использовании Let's Encrypt для получения SSL-сертификата является установка программного обеспечения Certbot на ваш сервер.
Обновим список пакетов:
sudo apt update
Давайте теперь установим пакет Certbot для Nginx:
sudo apt-get install certbot python-certbot-nginx
Теперь Certbot готов к использованию, но для установки SSL-сертификатов для Nginx нам необходимо проверить некоторые конфигурации Nginx.
Конфигурация Nginx
Certbot может автоматически настраивать SSL-сертификаты для Nginx, но он должен уметь находить в конфигурации правильный блок сервера. Для этого он ищет директиву server_name, которая соответствует домену, для которого вы запрашиваете сертификат.
Если вы начинаете с новой установки Nginx, вы можете обновить файл конфигурации по умолчанию.
sudo nano /etc/nginx/sites-available/default
Найдите строку server_name и замените подчеркивание: «_» на ваше доменное имя:
...
server_name esempio.com www.esempio.com;...
Сохраните и закройте файл.
Проверьте правильность конфигурации файла:
sudo nginx -t
Перезапустите Nginx:
sudo systemctl reload nginx
Теперь Certbot сможет найти правильный блок сервера и обновить его.
Получить SSL-сертификат
Certbot использует плагин Nginx для получения SSL-сертификатов.
sudo certbot --nginx
Выполнение этой команды позволит вам получить сертификат SSL, а Certbot автоматически изменит конфигурацию Nginx.
В противном случае вы можете получить сертификат, а затем вручную настроить Nginx с помощью следующей команды:
sudo certbot certonly --nginx
Автоматическое продление
Пакеты Certbot поставляются с заданием cron, которое автоматически обновляет ваши сертификаты до истечения срока их действия. Поскольку сертификаты Let's Encrypt действительны в течение 90 дней, настоятельно рекомендуется воспользоваться этой функцией. Вы можете проверить автоматическое обновление сертификатов, выполнив эту команду:
sudo certbot renew --dry-run
Установка Let’s Encrypt с помощью Certbot в Debian 10 завершена.