Linuxoid.pro

Сообщество разработчиков программного обеспечения и IT-специалистов

Как включить HTTP / 2.0 на сервере Nginx: пошаговое руководство

Поскольку вы используете систему Linux, вы, вероятно, уже знаете, что HTTP — это интернет-протокол, который устанавливает ваше интернет-соединение с запрошенным сервером через ваш веб-браузер. Он отправляет запросы от клиента к стороне сервера и передает данные с сервера клиенту. Что ж, этого достаточно, чтобы знать о протоколе HTTP, если вы обычный пользователь Интернета.

Если вы являетесь администратором сервера или сетевым менеджером или размещаете свой собственный веб-сайт на сервере Nginx, вам необходимо знать больше о HTTP, HTTP / 2.0 и о том, как включить HTTP / 2.0 на сервере Nginx.

Включить HTTP / 2.0 в Nginx

Как администратор сервера Nginx вы наверняка слышали об OSI и модели TCP; HTTP находится на уровне приложений модели OSI. Вы можете применить HTTP2 на своем сервере Nginx, чтобы сделать ваш сервер более быстрым, эффективным и безопасным.

Чтобы настроить службы HTTP в вашей системе, на вашем компьютере должен быть установлен сервер Nginx. В этом посте мы увидим, как включить и настроить http2 на вашем сервере Nginx.

Шаг 1. Проверьте предварительные требования для Nginx HTTP / 2.0.

Поскольку на вашем компьютере уже установлен сервер Nginx, для включения служб HTTP / 2.0 вам может потребоваться проверить, поддерживает ли ваша система следующую версию протокола HTTP. Чтобы проверить модули HTTP, вы можете запустить следующую команду GREP (Global Regular Expression Print) в оболочке терминала.

strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module

Вы также можете запустить следующую команду управления системой, чтобы проверить состояние вашего сервера Nginx.

sudo systemctl status nginx

Шаг 2. Включите HTTP / 2.0 на Nginx

Включить службы HTTP / 2.0 на сервере Nginx просто. У вас должны быть права root на вашем компьютере. Вы можете запустить следующую команду на своем терминале Linux, чтобы отредактировать и настроить протокол HTTP / 2.0 на вашем сервере.

Следующая команда изменит тип HTTP-соединения вашей файловой системы Nginx, хранящейся в каталоге / etc / nginx /. Выберите ниже соответствующую команду для вашего дистрибутива Linux.

Редактировать конфигурацию сервера Nginx в Ubuntu / Debian

sudo nano /etc/nginx/sites-available/example.com.conf

Редактировать конфигурацию сервера Nginx в Red Hat и Fedora Linux

sudo nano /etc/nginx/conf.d/example.com.conf

Теперь вам нужно добавить следующую строку протокола HTTP внутри скрипта.

listen 443 ssl http2;

Вы можете следовать образцу сценария, приведенному ниже. Убедитесь, что вы заменили адрес своего сервера на example.com.

server {
server_name example.com www.example.com;
access_log /var/log/nginx/example.com_access.log;
error_log /var/log/nginx/example.com_error.log;

listen [::]:443 ssl ipv6only=on http2; # managed by Certbot
listen 443 ssl http2; # managed by Certbot

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

Теперь вы можете проверить статус конфигурации вашего сервера Nginx.

nginx -t

Теперь вы можете запустить приведенную ниже команду управления системой, чтобы перезапустить сервер Nginx.

systemctl restart nginx

Шаг 3. Проверьте и закройте

Теперь мы увидели, как включить службы HTTP / 2.0 на сервере Nginx; пора проверить, включен он или нет. Есть два способа узнать это. Вы можете запустить следующую команду cURL в оболочке терминала, чтобы проверить статус HTTP.

sudo curl -v --http2 http://localhost

Команда вернет статус подключения к серверу и статус версии HTTP.

Вы также можете проверить статус версии HTTP через свой веб-браузер. Сначала введите веб-адрес вашего сервера и посетите сайт. Затем щелкните правой кнопкой мыши и выберите меню «Проверить элемент». Затем вы найдете вкладку «Сеть». На вкладке «Сеть» найдите меню протокола и проверьте, включен ли HTTP / 2.0 на вашем сервере Nginx.

Будь осторожен!

Включение HTTP / 2.0 на вашем сервере Nginx может разрешить несколько запросов к серверу и ускорить двоичные протоколы. Однако включение HTTP / 2.0 имеет как плюсы, так и минусы. Включение HTTP / 2.0 может быть использовано для использования системы push-уведомлений сервера.

Если у вас есть соединение в смешанном режиме (HTTP / 2.0 включен на клиенте, но не включен на сервере), это может замедлить ваше соединение. Вы должны убедиться, что и на стороне сервера, и на стороне клиента включены службы http / 2.0.

Выводы

Протокол HTTP / 2.0 может сжимать двоичные данные и одновременно отвечать на несколько запросов. Во всем посте мы увидели, как включить службы HTTP / 2.0 на сервере Nginx. Я также описал основы и меры предосторожности при включении HTTP / 2.0 на сервере.

Пожалуйста, поделитесь им со своими друзьями и сообществом Linux, если вы найдете этот пост полезным и информативным. Вы также можете записать свое мнение об этом сообщении в разделе комментариев.