How-to-Install-Free-SSL-Certificate-for-Nginx-on-Debian-10

Как установить бесплатный SSL Certificate от Let’s Encrypt для Nginx на Debian 10?

Let's EncryptNginx

При настройке веб-сайта одним из ключевых моментов, которые вы должны учитывать, является безопасность вашего сайта. Сертификат SSL — это цифровой сертификат, с помощью которого шифрует данные, отправляемые из браузера пользователя на веб-сервер. Таким образом, отправленные данные конфиденциальны и защищены от хакеров, которые используют для перехвата и прослушивания вашего сообщения, такие как программы как Wireshark,

Зашифрованный сайт имеет символ замка в строке URL, за которым следует аббревиатура https, как показано на следующем скриншоте:

Check-SSL-Certificate-on-Website

 

 

На не зашифрованном сайте обычно есть уведомление «Not Secure» («Не защищено») в строке URL.

 

Предпосылки:

Прежде чем начать работу, убедитесь, что выполнены следующие требования:

  • активирован минимальный сервер Debian 10;
  • активирован веб-сервер Apache с настройкой домена в Debian 10;
  • зарегистрированное полное доменное имя (Fully Qualified Domain Name) с записью A, указывающей на IP-адрес системы Linux Debian 10 на вашем провайдере домена.

 

Для этой статьи мы используем sedicomm.com с IP-адресом 192.168.0.104.

В этой статье мы рассмотрим, как вы можете установить Let’s Encrypt SSL на Debian 10, чтобы получить бесплатный сертификат SSL для сайта, размещенного на Nginx.

 

Что такое Let Encrypt SSL?

Let’s Encrypt SSL — это бесплатный сертификат от EFF (Electronic Frontier Foundation), который действителен в течение 3 месяцев и автоматически продлевается по истечении срока действия. Это простой и дешевый способ зашифровать данные, которые передаются с вашего сайт.

Начинаем установку Let’s Encrypt на веб-сервер Nginx:

 

Шаг 1: Установка Certbot в Debian 10

Для начала нам нужно установить Certbot — это программное обеспечение, которое загружает цифровой сертификат Let’s encrypt, а затем развертывает его на веб-сервере. Для этого нам нужно установить пакет python3-certbot-nginx. Но прежде чем мы это сделаем, давайте сначала обновим системные пакеты, как показано ниже:

$ sudo apt update

 

Update-Debian-System-Packages

 

 

Следующим шагом является установка зависимостей, необходимых для пакета python3-certbot-nginx:

$ sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

 

 

Теперь давайте установим пакет python3-certbot-nginx:

$ sudo apt install python3-certbot-nginx

 

 

Install-Certbot-on-Debian

 

 

Шаг 2. Проверка конфигурации домена для сервера Nginx

Для того чтобы certbot автоматически развернул SSL-сертификат Let’s encrypts на веб-сервере Nginx, необходимо настроить домен для сервера.

Если вы внимательно выполняете все действия, то у вас должен быть домен сервера в /etc/nginx/sites-available/some_domain. В нашем случае домен сервера Nginx будет выглядеть следующим образом:

/etc/nginx/sites-available/sedicomm.com

 

Кроме того, убедитесь, что директива server_name соответствует вашему доменному имени:

server_name sedicomm.com www.sedicomm.com;

 

Чтобы убедиться, что все конфигурации Nginx в порядке, выполните следующую функцию:

$ sudo nginx -t

 

Check-Nginx-Configuration

 

 

 

Вывод выше показывает, что сделано правильно.

 

Шаг 3. Настройка брандмауэра на открытие порта HTTPS

Если вы настроили и включили ufw, нам нужно разрешить протокол HTTPS через брандмауэр, чтобы веб-сервер был доступен каждому:

$ sudo ufw allow 'Nginx Full'

 

 

Затем перезагрузите брандмауэр, чтобы изменения вступили в силу:

$ sudo ufw reload

 

 

Open-Nginx-Ports-on-UFW

 

 

Чтобы убедиться, что мы разрешили протокол через брандмауэр, выполните следующее действие:

$ sudo ufw status

 

Verify-UFW-Status

 

 

Шаг 4: Развертывание сертификата от Let’s Encrypt SSL для Вашего домена

После проверки всех настроек и конфигураций пришло время получить и развернуть SSL-сертификат Let’s Encrypt на сайте домена:

$ sudo certbot --nginx -d domain-name -d www.domain-name.com 

 

 

В нашем случае мы будем иметь:

$ sudo certbot --nginx -d sedicomm.com -d www.sedicomm.com

 

 

На первом этапе вам будет предложено ввести адрес электронной почты. Введите свой адрес и нажмите Enter:

Add-Email-to-Let’s-Encrypt

 

 

Далее вас попросят принять условия обслуживания. Введите A, чтобы продолжить:

Accept-License-Agreements

 

 

Certbot продолжит запрашивать ваше согласие на использование вашей электронной почты для отправки вам уведомлений о последних событиях в EFF. Здесь вы можете выбрать или отказаться, чтобы выбрать, введите Y (Yes) и нажмите Enter. Чтобы отказаться от участия, нажмите N (No).

Share-Email-with-EFF

 

 

Certbot свяжется с Let’s encrypt, загрузит SSL-сертификат и развернет его для домена на сервера Nginx, который вы уже создали.

Install-SSL-Certificate-on-Nginx-Domain

 

 

В следующем разделе введите 2, чтобы перенаправить обычный HTTP-трафик на HTTPS.

Redirect-HTTP-to-HTTPS-on-Domain

 

 

Сертификат будет развернут на вашем сервере Nginx, и вы получите поздравительное уведомление, подтверждающее, что ваш веб-сервер теперь может шифровать трафик с использованием Let’s Encrypt SSL.

Enabled-Let’s-Encrypt-SSL-Certificate-on-Domain

 

 

Шаг 5: Проверка HTTPS на веб-сайте Nginx

Чтобы проверить изменения через веб-браузер, обновите вкладку браузера и обязательно обратите внимание на символ замка.

Check-SSL-Certificate-on-Website

 

 

Нажмите на значок замка и выберите «Certificate», чтобы просмотреть сведения о сертификате SSL.

Verify-HTTPS-on-Website

 

 

Все данные сертификата будут отображены.

Check-SSL-Certificate-Issuer

 

 

Кроме того, вы можете проверить состояние вашего веб-сервера, проверив URL вашего сайта по адресу https://www.ssllabs.com/ssltest/. Если веб-сервер зашифрован с использованием сертификата SSL, вы получите оценку A, как показано на скриншоте ниже:

Test-SSL-Certificate-of-Website

 

 

Итоги

Мы подошли к концу этого урока. В руководстве вы узнали, как установить бесплатный SSL-сертификат для Nginx от Let’s Encrypt на Debian 10.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Let's EncryptNginx

Больше похожих постов

lemp on debian10

Как установить LEMP на сервере Debian 10

343
0
Стек «LEMP» представляет собой смесь программного обеспечения с открытым исходным кодом, которое обычно устанавливается на сервере Linux для развертывания динамических…
Lemp on RHEL8

Как установить LEMP на RHEL 8

255
0
Многие хорошо знают о LAMP, но меньше людей знают о стеке LEMP, который заменяет веб-сервер Apache на облегченный Nginx. Каждый…

Как установить Nginx, MariaDB 10, PHP 7 (стек LEMP)

141
0
Стек LEMP — это аббревиатура, представляющая собой группу пакетов (ОС Linux, веб-сервер Nginx, база данных MySQL/MariaDB и язык динамического программирования…

1 комментарий. Оставить новый

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
Меню