news
Serverspace в «Рейтинге провайдеров IaaS Enterprise 2023» от Market.CNews
KI
18 января 2023
Обновлено 24 июля 2023

Возможности использования Certbot для web-сервера Nginx

Debian Linux Nginx Ubuntu

Введение

Для настройки безопасности Nginx воспользуемся центром сертификации (ЦС) для установки бесплатных сертификатов TLS/SSL, тем самым предоставим шифрование для HTTPS на web-серверах.

В этой инструкции будут рассмотрены возможности использования Certbot, чтобы получить бесплатный SSL-сертификат для web-сервера Nginx на Debian 10 и рассмотрим настройку автоматического обновления сертификатов.

Подготовка к работе

Следует выполнить несколько шагов перед тем, как приступать к основной задаче:

  • Запустить сервер на Debian или Ubuntu и настроить согласно нашему руководству по настройке. Настроить права для нового пользователя и настроить брандмауэр.
  • Зарегистрировать доменное имя. В данной инструкции будем рассматривать доменное имя serverspace.tm.
  • Установить и настроить Nginx в согласно инструкции.

Установка Certbot

Согласно документации Certbot рекомендуется устанавливать пакет через snap. Необходимо удостовериться, что ядро snapd установлен и обновлен.

snap install core && snap update core

Установим пакет certbot используя snap:

snap install --classic certbot

После установки создадим символическую ссылку для выполнения certbot из директории /usr/bin/:

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

После успешной установки certbot можно приступить к настройке конфигурации Nginx.

Конфигурация Nginx

Certbot производит поиск строки server_name в конфигурационных файлах Nginx и настраивает автоматически SSL:

cp /etc/nginx/sites-avaliable/default /etc/nginx/sites-avaliable/serverspace.tm
vim /etc/nginx/sites-avaliable/serverspace.tm
...
server_name serverspace.tm www.serverspace.tm
...

И выполним выход сохранением с помощью:

:wq!

Проверьте состояние конфигурации после изменение файлов с помощью:

nginx -t

Если при тестировании конфигурации получите следующее сообщение об ошибке:

nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)

То закомментируйте строку listen [::]:80; в файле /etc/nginx/sites/avaliable/.
Убедившись в правильности написанного кода наших конфигурационных файлов, перезапустим nginx:

service nginx restart

Разрешение HTTPS через ufw

Ufw брандмауэр должен быть настроен согласно с инструкцией и разрешим полный доступ для подключения к Nginx:

ufw allow 'Nginx Full'

Удалим старое разрешение к Nginx HTTP:

ufw delete allow 'Nginx HTTP'

Проверим статус брандмауэра с помощью:

ufw status

Далее запустим certbot и приступим к получению сертификата

SSL-сертификаты

Выполним следующую команду для получения сертификата для нашего домен:

certbot --nginx -d serverspace.tm -d www.serverspace.tm

В процессе необходимо будет ввести адрес электронной почты и получим результаты путь до сертификатов и срок сертификатов.
После всех настроек, полученных сертификатов, наши web-запросы будут перенаправляться на https:// в автоматическом порядке.

Автообновление Certbot

Протестируем процесс обновления с помощью запуска certbot:

certbot renew --dry-run

Если команда запустилась успешно, значит certbot работает без ошибок.
При сбое автоматического обновления получим сообщение в ранее указанный адрес электронной почты при настройке сертификатов.

Выводы

В данной инструкции рассмотрели:

  • Настройку конфигурации домена для Nginx;
  • Установку certbot из пакетного менеджера snap;
  • Установку сертификатов;
  • Запуск обновления certbot.
Оценка:
4 из 5
Аverage rating : 4
Оценок: 7
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300

Вам также может быть интересно...