Введение
Для настройки безопасности Nginx воспользуемся центром сертификации (ЦС) для установки бесплатных сертификатов TLS/SSL, тем самым предоставим шифрование для HTTPS на web-серверах.
В этой инструкции будут рассмотрены возможности использования Certbot, чтобы получить бесплатный SSL-сертификат для web-сервера Nginx на Debian 10 и рассмотрим настройку автоматического обновления сертификатов.
Подготовка к работе
Следует выполнить несколько шагов перед тем, как приступать к основной задаче:
- Запустить сервер на Debian или Ubuntu и настроить согласно нашему руководству по настройке. Настроить права для нового пользователя и настроить брандмауэр.
- Зарегистрировать доменное имя. В данной инструкции будем рассматривать доменное имя serverspace.tm.
- Установить и настроить Nginx в согласно инструкции.
Установка Certbot
Согласно документации Certbot рекомендуется устанавливать пакет через snap. Необходимо удостовериться, что ядро snapd установлен и обновлен.
Установим пакет certbot используя snap:
После установки создадим символическую ссылку для выполнения certbot из директории /usr/bin/:
После успешной установки certbot можно приступить к настройке конфигурации Nginx.
Конфигурация Nginx
Certbot производит поиск строки server_name в конфигурационных файлах Nginx и настраивает автоматически SSL:
server_name serverspace.tm www.serverspace.tm
...
И выполним выход сохранением с помощью:
Проверьте состояние конфигурации после изменение файлов с помощью:
Если при тестировании конфигурации получите следующее сообщение об ошибке:
То закомментируйте строку listen [::]:80; в файле /etc/nginx/sites/avaliable/.
Убедившись в правильности написанного кода наших конфигурационных файлов, перезапустим nginx:
Разрешение HTTPS через ufw
Ufw брандмауэр должен быть настроен согласно с инструкцией и разрешим полный доступ для подключения к Nginx:
Удалим старое разрешение к Nginx HTTP:
Проверим статус брандмауэра с помощью:
Далее запустим certbot и приступим к получению сертификата
SSL-сертификаты
Выполним следующую команду для получения сертификата для нашего домен:
В процессе необходимо будет ввести адрес электронной почты и получим результаты путь до сертификатов и срок сертификатов.
После всех настроек, полученных сертификатов, наши web-запросы будут перенаправляться на https:// в автоматическом порядке.
Автообновление Certbot
Протестируем процесс обновления с помощью запуска certbot:
Если команда запустилась успешно, значит certbot работает без ошибок.
При сбое автоматического обновления получим сообщение в ранее указанный адрес электронной почты при настройке сертификатов.
Выводы
В данной инструкции рассмотрели:
- Настройку конфигурации домена для Nginx;
- Установку certbot из пакетного менеджера snap;
- Установку сертификатов;
- Запуск обновления certbot.