Чат Telegram
Группа ВКонтакте
Настройка HTTP/2 в nginx на Debian/Ubuntu

Настройка HTTP/2 в nginx на Debian/Ubuntu

Всем привет! На дворе у нас 21 век, все кругом говорят о крутости новенького HTTP/2. Что же, не будем стоять в стороне и воспользуемся преимуществами новой версии протокола. В этой статье рассмотрим особенности включения HTTP/2 в Nginx.

Начнём с того что HTTP/2 поддерживается в nginx начиная c версии 1.9.5. HTTP/2 будет работать только поверх TLS версии 1.2 и выше. О подходящей для данного случая настройке HTTPS можно прочитать здесь.

Ключевые отличия от протокола HTTP1.1:

  • данные передаются в бинарном виде вместо текстового;
  • мультиплексирование запросов вместо очередей и блокировок;
  • как следствие может использоваться одно соединение для распараллеливания;
  • используется сжатие заголовков для уменьшения оверхеда;
  • сервера могут отправлять дополнительное содержимое, необходимое для отображения страниц, в кэш клиентов ещё до запроса.

Для установки последней версии в Debian 8 необходимо добавить в список /etc/apt/sources.list репозиторий nginx:

deb http://nginx.org/packages/mainline/debian/ jessie nginx
deb-src http://nginx.org/packages/mainline/debian/ jessie nginx

После этого необходимо добавить публичный ключ для этого репозитория:

wget --quiet -O - http://nginx.org/packages/keys/nginx_signing.key | apt-key add -

Обновляем индекс пакетов:

apt-get update

После чего обновляем пакеты (если nginx уже установлен):

apt-get upgrade

Либо устанавливаем nginx с нуля:

apt-get install nginx

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

nginx - v

На момент написания данной статьи последняя стабильная версия 1.9.14.

Теперь остаётся в конфиге nginx в директиве listen для протокола SSL добавить ключевое слово http2.
Должно получиться как-то так:

listen 93.170.104.204:443 ssl http2;

Перечитаем конфиги nginx:

service nginx reload

Готово!

Присоединяйтесь к нам в ВКонтакте и в Facebook, чтобы не пропустить новые уроки. А также вступайте в наш чат PHP-разработчиков в Telegram.
Об авторе
Артём Ивашкевич
Артём Ивашкевич
Занимаюсь программированием более трех лет, работаю над проектами с миллионной посещаемостью. В свободное время обучаю программированию на PHP других людей, потому что мне это нравится. Если вы интересуетесь темой IT и хотели бы стать разработчиком, рекомендую прочитать статью о том, как я стал программистом.
Онлайн обучение PHP
Путь с полного нуля до джуниора!
Начать бесплатно
Курс программирования на PHP
Подготовка до уровня устройства на работу!
Начать бесплатно
Самый понятный курс PHP
Онлайн-уроки в удобное время!
Начать бесплатно
Онлайн-курсы PHP и MySQL
Обучение с полного нуля до уровня джуниора!
Начать бесплатно
loader
Онлайн-курсы PHP и MySQL
Обучение с полного нуля до уровня джуниора!
Начать бесплатно
loader
Логические задачи с собеседований