Переход на HTTP/2 (Ubuntu, Apache)

HTTP/2 принят и стандартизирован, и большинство современных браузеров (в том числе и мобильных) его уже поддерживают. Как же добавить поддержку протокола на свой сервер?


Немного предыстории

Отличия от HTTP 1.1

Основные отличия таковы:

  • HTTP/2 — бинарный;
  • Приоритезация запросов;
  • Мультиплексирование множества запросов в одном соединении TCP.

Этот протокол позволяет выигрывать в скорости передачи данных, а также снизить нагрузку на сервер.

SPDY

Читается как «спиди». Эта разработка компании Google позволяла использовать одно TCP соединение, и также использовала приоретизацию при загрузке ресурсов.

Однако его поддержка уже прекращена в пользу HTTP/2, поэтому особо тут нечего говорить.

Поддержка HTTP/2 в Apache

Обновление Apache

Для того, чтобы использовать HTTP/2, для начала нужно обновить Apache до версии

2.4.17

или выше.

sudo add-apt-repository ppa:ondrej/apache2

а потом сразу и:

sudo apt-get update

Проверить текущую версию можно командой

apache2 -v

.

Вот теперь, когда Apache выше 2.4.17 установлен, можно приступать к настройке самого Apache и виртуальных хостов на работу через HTTP/2.

Активация HTTP/2

Активируем поддержку нового протокола

sudo a2enmod http2

Настройка сайтов

Добавляем поддержку

http/2

в виртуальные хосты.

Естественно, виртуальные хосты лежат соответственно в

/etc/apache2/sites-enabled

и

/etc/apache2/sites-avalible

:

# Для сайта без https
<VirtualHost *:80>
  ServerName example.com
  Protocols h2c http/1.1
  # Остальная конфигурация…
</VirtualHost>

# Для сайта с https
<VirtualHost *:443>
  ServerName example.com
  Protocols h2 http/1.1
  # Остальная конфигурация…
</VirtualHost>

Ну и конечно же необходимо после всех этих махинаций перезагрузить Apache.

sudo service apache2 restart

Если сервер успешно перезагрузился, и сайты работают, значит все сделано было правильно.

Проверка

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

access.log

.

P. S.:

Если Вам важны позиции в поиске Яндекса, то спешу Вас огорчить, его роботы не понимают новый протокол:

В настоящее время у основного поискового робота не реализована поддержка протокола HTTP/2, поэтому Ваш сайт может индексироваться некорректно.


8 марта 2016

Ну точнее говоря может перестать индексироваться вообще.


admin

Share
Published by
admin

Recent Posts

После включения диагностического запуска не удается войти в Windows — как исправить?

Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…

2 недели ago

WinScript — очистка и настройка Windows 11 и 10

На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…

2 недели ago

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

При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…

2 недели ago

FixExec — восстановление ассоциаций .exe, .bat и .com файлов

Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…

2 недели ago

Ошибка 0x800705b4 при обновлении Windows 11 и 10 — как исправить?

При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…

2 недели ago

Обслуживание вашей версии Windows 11 окончено — что делать?

Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…

2 недели ago