3.2.7 Как включить протокол HTTP/2

HTTP/2 Banner

Протокол HTTP/2 является новой версией транспортного протокола HTTP для передачи данных веб-сайтов в сети Интернет.

Основными преимуществами нового протокола HTTP/2, по сравнению с предшествующими версиями, можно выделить:

  • Уменьшенная нагрузка на сеть;
  • Низкие затраты на парсинг данных;
  • Улучшенная производительность;
  • Более эффективная обработка данных между клиентом и сервером;
  • Обратная совместимость с HTTP/1.x.

Детально с принципами работы и преимуществами HTTP/2 можно ознакомиться в следующем материале.

Ниже мы рассмотрим способы активации использования HTTP/2 на shared-хостинге TheHost и на виртуальных/выделенных серверах с установленным веб-сервером Nginx от версии 1.9.5 и выше.

Учтите: независимо от сервера, протокол HTTP/2 требует подключенного к сайту SSL-сертификата для своего функционирования. Подойдет как коммерческий так и бесплатный SSL.

Важно: при включении HTTP/2 хотя бы для одного домена на Вашем хостинге/сервере, он автоматически активируется и для всех остальных доменов на этом же IP-адресе. Обойти это ограничение нет возможности, так как оно сопряжено с техническими принципами реализации данного протокола.

Включение протокола HTTP/2 хостинге

Наш хостинг полностью поддерживает использование HTTP/2. Единственным требованием для его активации является подключенный к сайту SSL-сертификат.

Если сертификат уже установлен, для активации HTTP/2 достаточно установить соответствующую галочку в свойствах Вашего сайта, во вкладке WWW домены:

Включение протокола HTTP/2 в свойствах WWW домена

Включение протокола HTTP/2 на сервере с NginX

Если Вы используете наши сервера с шаблонами Ubuntu 18 (или новее) с установленной ISPManager4, Ваш сервер поддерживает HTTP/2 “из коробки”. Процесс активации будет аналогичен таковому на хостинге, правки в конфиг Nginx будут внесены автоматически.

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

1. Подключитесь по SSH и проверьте текущую версию Nginx с помощью команды:

  1. nginx -v
Вывод
nginx version: nginx/1.18.0 (Ubuntu)

Если версия Nginx ниже 1.9.5, продолжать выполнение инструкции категорически не стоит! Это может привести к полной неработоспособности всего сервера.

2. Ввойдите в панель управления сервером под суперпользователем root.

3. Выберите нужный сайт во вкладке WWW домены и откройте его свойства с помощью кнопки Изменить. Убедитесь что к нему подключен SSL-сертификат.

4. Выберите нужный сайт кликом мыши и нажмите Конфиг в верхнем правом углу. Это действие позволит Вам просматривать и редактировать конфиг Nginx для выбранного сайта.

Ispmanager, Конфиг Nginx

5. В открывшейся вкладке Nginx найдите секцию listen:

Предупреждение: IP-адрес 37.72.129.24:443 является примером. IP-адрес Вашего сервера будет отличаться и редактировать его значение не нужно!

Оригинальная конфигурация Nginx
...
  listen 37.72.129.24:443 ssl;
  listen 37.72.129.24;
...

Добавьте в блок директиву http2 следующим образом:

Конфигурация Nginx с активированным HTTP/2
...
  listen 37.72.129.24:443 ssl http2;
  listen 37.72.129.24;
...

И нажмите Ok. Если Nginx не перезагрузился автоматически, перезагрузите его во вкладке Сервисы.

Дополнительно: если на Вашем сервере нет панели управления ISPManager4, все указанное можно проделать аналогично с помощью внесения текстовых правок в конфиг Nginx (зачастую находится по адресу /etc/nginx/nginx.conf). Внесите вышеописанные правки в блоке server нужного сайта и перезагрузите Nginx. Для работы HTTP/2, Ваш сервер должен соответствовать техническим требованиям, включая наличие поддержки ALPN.