Переход на 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

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

1 месяц ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

1 месяц ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

1 месяц ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

1 месяц ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

1 месяц ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

1 месяц ago