Site icon ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Четверг, 3 июля, 2025

Как включить протокол HTTPS в Debian 13 и Nginx в качестве веб-сервера

Как включить протокол HTTPS в Debian 13 и Nginx в качестве веб-сервера

В этой записи блога будет показано, как включить HTTPS в Debian 13. HTTPS — это сокращение от Hypertext Transfer Protocol Secure, и это протокол, который использует шифрование для безопасной связи по сети. Протокол HTTPS шифрует передаваемые данные с помощью протокола SSL (Secure Socket Layer). Поэтому для включения протокола HTTPS нам нужно установить сертификат SSL на доменное имя, чтобы к веб-сайту можно было безопасно получить доступ через HTTPS. Для включения HTTPS и установки сертификата SSL требуется настроенный веб-сервер (Apache, Nginx или OpenLiteSpeed).

В этой статье мы рассмотрим установку веб-сервера Nginx, настройку виртуального хоста и установку бесплатного SSL-сертификата Let’s Encrypt для выполнения требований по включению протокола HTTPS. Давайте начнем!

 

Предпосылки

 

Шаг 1. Обновите систему

Перед установкой Nginx и Let’s Encrypt необходимо обновить пакеты до последних версий. Для этого выполните следующую команду:

sudo apt update -y && sudo apt upgrade -y

 

Шаг 2. Установка веб-сервера Nginx

В этой статье мы выберем Nginx в качестве веб-сервера. Включение протокола HTTPS и установка сертификатов SSL также могут быть выполнены на веб-серверах Apache и OpenLiteSpeed. Пользователь сам решает, какой веб-сервер он хочет использовать. Давайте приступим к установке Nginx.

Чтобы установить веб-сервер Nginx, выполните следующую команду:

sudo apt install nginx -y

 

После установки веб-сервера нам необходимо запустить и включить службу nginx:

sudo systemctl start nginx && sudo systemctl enable nginx

 

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

sudo systemctl status nginx

 

Если все в порядке, вы должны получить следующий вывод:

root@host:~# sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
     Active: active (running) since Tue 2025-05-06 14:48:13 CDT; 1min 49s ago
 Invocation: 78d2c4b786c141d0bb551598bf48d3da
       Docs: man:nginx(8)
   Main PID: 68366 (nginx)
      Tasks: 4 (limit: 4644)
     Memory: 3.8M (peak: 9.1M)
        CPU: 114ms
     CGroup: /system.slice/nginx.service
             ├─68366 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ├─68368 "nginx: worker process"
             ├─68369 "nginx: worker process"
             └─68370 "nginx: worker process"

May 06 14:48:13 host.test.vps systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server...
May 06 14:48:13 host.test.vps systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server.

 

Шаг 3. Создание файла виртуального хоста Nginx

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

Сначала мы создадим корневой каталог документа и поместим в него простой файл HTML index.html. Выполните следующие команды одну за другой:

sudo mkdir -p /var/www/html/example

sudo touch /var/www/html/example/index.html

echo 'Hello World' > /var/www/html/example/index.html

 

Далее нам нужно создать конфигурацию Nginx. Для этого выполните следующую команду:

sudo touch /etc/nginx/conf.d/example.conf

 

Откройте файл в вашем любимом текстовом редакторе и вставьте следующие строки кода:

server {
listen 80;
   server_name example.com;

   root /var/www/html/example;
   index index.html;

   server_tokens off;

   access_log /var/log/nginx/example_access.log;
   error_log /var/log/nginx/example_error.log;

   client_max_body_size 64M;

location / {
        try_files $uri $uri/ =404;
    }
}

 

Сохраните файл, закройте его и проверьте синтаксис Nginx:

nginx -t

 

Вы должны получить следующий вывод:

root@host:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@host:~# service nginx restart

 

Вы можете приступить к перезапуску Nginx:

sudo systemctl restart nginx

 

С этой конфигурацией вы можете получить доступ к своему веб-сайту небезопасно только через протокол HTTP по адресу http://example.com. Чтобы включить протокол HTTPS, нам нужно установить Let’s Encrypt. Пожалуйста, перейдите к следующему шагу, чтобы узнать, как установить Let’s Encrypt.

Шаг 4. Установите бесплатный SSL-сертификат Let’s Encrypt

Для начала нам необходимо установить плагин Certbot для Nginx:

sudo apt install certbot python3-certbot-nginx

 

После установки нам необходимо получить SSL-сертификат с помощью следующей команды:

sudo certbot --nginx -d example.com -d

 

Вам следует ввести свой адрес электронной почты для обновления и некоторую дополнительную информацию, как описано ниже. После успешной установки вы получите пути сертификатов SSL.

root@host:~# sudo certbot --nginx -d example.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): admin@example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.5-February-24-2025.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Yes
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: No
Account registered.
Requesting a certificate for example.com

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/example.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/example.com/privkey.pem
This certificate expires on 2025-08-04.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for  to /etc/nginx/conf.d/example.conf
Congratulations! You have successfully enabled HTTPS on https://example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

Созданный нами файл Nginx автоматически настроен на перенаправление трафика на HTTPS с действительным сертификатом SSL.

Вот и все. Вы включили протокол HTTPS с Nginx и бесплатным Let’s Encrypt на Debian 13.

Если вам понравилась эта статья о том, как включить HTTPS в Debian 13, поделитесь ею с друзьями или оставьте комментарий ниже.

Exit mobile version