ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как включить HTTP/2 на Nginx в Linux

Как включить HTTP/2 на Nginx в Linux

HTTP / 2 является новым поколением протокола для замены протокола HTTP/1.1, который вы используете в ваших ежедневных задач при работе в Интернете. Основываясь на  fabulous SPDY, этот новый протокол HTTP ориентирован на обеспечение максимальной производительности когда – либо между сетевыми соединениями и конечными пользователями. В частности, он направлена на улучшение задержки конечных пользователей и загруженности сети. Его главная цель состоит в том, чтобы разрешить использование одного соединения между клиентским браузерами и веб – сайтом.

Основные возможности HTTP/2

Истинное мультиплексирование:  HTTP/2 позволяет запросам выполнятся параллельно и не по порядку, и не по одному , как в протоколе HTTP/1.1.

Одно постоянное соединение:  С истинной функции мультиплексирования, все объекты, размещенные на сайте, могут быть загружены параллельно, используя только одно соединение. В HTTP/1.1, если вы хотите, чтобы загрузить параллельные объекты, вы были вынуждены открыть несколько соединений (не является эффективным с точки зрения использования сети).

Двоичное кодирование:  Заголовки отправляются закодированными в двоичном формате. Это позволяет экономить байты на пути, пока информация не достигнет браузер вашего клиента. В HTTP/1.1, он был послан, используя обычный текст, который вызывал больше расходов с точки зрения использования полосы пропускания.

Сжатие заголовков:  Заголовки также сжимаются с  сжатием HPACK, что помогает уменьшить общее количество данных по сети.

SSL/TLS шифрования:  С HTTP/2 SSL/TSL, шифрование является обязательным. Это контролируется и определяется веб – браузерами (вместо этого в RFC), которые в настоящее время поддерживают новый протокол HTTP/2. HTTP/2 заботится не только о скорости, но и о вашей безопасности путем принятия шифрования SSL / TSL в качестве обязательного требования.

Примечания перед включением HTTP/2 на Nginx

1. HTTP/2  в настоящее время доступно для пользователей Nginx и пользователей Nginx Plus (коммерческая версия Nginx).

2. Если вы не имеете SSL шифрование на вашем сайте, вы должны перенаправить весь трафик SSL/TLS, в качестве HTTP/2 работает с шифрованием SSL / TLS. Убедитесь, что ваш сайт полностью настроен для работы с SSL-сертификатом.

3. SPDY и HTTP/2 не могут работать вместе. Удалите вариант “SPDY” из всех директив listen внутри конфигурации Nginx, и замените его параметрами ‘http2’ и ‘SSL’.

Как вы можете включить HTTP/2 на Nginx?

Чтобы включить поддержку HTTP/2 на Nginx, просто добавьте вариант “http2” для директив listen, которые ранее имели. Не забудьте включить параметр SSL, пример:

listen 443 ssl http2 default_server;

 

Полный выход внутри блока server{}:

server {listen 443 ssl http2 default_server
ssl_certificate /etc/nginx/conf/ssl.crt/yoursite.com.crt; ssl_certificate_key /etc/nginx/conf/ssl.key/yoursite.com.key; ... ... }

 

Обновить Nginx, чтобы изменения вступили в силу:

nginx -s

 

Как вы можете сделать проверку работы HTTP / 2 на вашем сайте?

Необходимо добавить в браузер плагин HTTP/2 and SPDY indicator. Он доступен из магазина Google Chrome и Firefox.

Как насчет браузеров, которые не поддерживают HTTP/2?

Люди в Nginx Inc. уже имели это в виду, и потому, что в настоящее время 50% браузеров до сих пор не поддерживают HTTP/2, инженеры Nginx создали то, что они называют “Next Protocol Negotiation Negotiation (NPN).” Это расширение TLS позволяет Nginx обслуживать HTTP/1.x запросы, если браузер не поддерживает полностью HTTP/2.

Вывод

Как вы можете видеть, веб меняется очень быстро. Для того, чтобы продолжать расти, вы должны принять новые протоколы и способы, которые позволяют пользователям сократить время отклика страницы и использования сети. HTTP/2 является следующим поколением протокола HTTP. Если вы хотите быть частью этого нового изменения, попробуйте включить его на установке Nginx. Результаты удивлят вас.

Как включить HTTP/2 на Nginx в Linux

Exit mobile version