К основному контенту

Как реализовать HTTP2 в Tomcat👨⚕️

Полная поддержка HTTP2 добавлена в последнюю версию Tomcat 9.x. HTTP/2 работает быстрее, намного быстрее, чем HTTP/1.1.

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

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

Прочтите это, если вы хотите включить веб-сервер, такой как Apache или Nginx.

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

Предпосылка

Tomcat должен быть защищен сертификатом SSL/TLS перед внедрением HTTP2.

Если вам нужна помощь с внедрением, ознакомьтесь с этим руководством.

  • Скрипт Bash для автоматического обновления SSL-сертификата Letsencrypt на Tomcat
  • Как реализовать защиту по SSL в Apache Tomcat?

Реализация HTTP/2 на Tomcat

Примечание. Перед изменением сделайте резервную копию файлов конфигурации, чтобы вы могли восстановить их, если что-то пойдет не так.

  • Войдите в Tomcat Server и перейдите в папку установки
  • Перейти в папку conf
  • Измените файл server.xml, используя vi или ваш любимый редактор
  • Добавьте следующее в коннектор SSL
 

В целом, это должно выглядеть так:

     

Выше приведена моя лабораторная конфигурация, поэтому, если вы копируете ее, не забудьте настроить конфигурацию в соответствии с требованиями вашей среды, особенно с портом, если используется пользовательский и путь к сертификату.

Перезапустите экземпляр Tomcat, перейдя в папку bin и выполнив следующие скрипты:

./shutdown.sh ./startup.sh

Проверьте журнал catalina.out, и вы должны увидеть следующее подтверждение, настроенное для поддержки h2

24-Feb-2019 19:43:47.559 INFO [main] org.apache.coyote.http11.AbstractHttp11Protocol.configureUpgradeProtocol The ["https-openssl-apr-443"] connector has been configured to support negotiation to [h2] via ALPN

Это означает, что Tomcat готов обслуживать запросы по протоколу HTTP2.

Тестирование

Как узнать, работает ли он так, как ожидалось?

Есть несколько способов проверить это.

Использование Chrome

Полезно для тестирования интранет-приложений.

  • Запустите Google Chrome
  • Откройте Инструменты разработчика, нажав F12
  • Перейдите на вкладку сети
  • Откройте приложение Tomcat и обратите внимание на столбец «Protocol».



И, как вы можете видеть, запросы были обработаны с использованием h2.

Использование журналов

Посмотрите файл access.log и просмотрите входящие запросы.

xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET/HTTP/2.0" 200 11468 xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /tomcat.css HTTP/2.0" 200 5931 xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /tomcat.png HTTP/2.0" 200 5103 xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /bg-button.png HTTP/2.0" 200 713 xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /bg-upper.png HTTP/2.0" 200 3103 xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /bg-nav.png HTTP/2.0" 200 1401 xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /asf-logo-wide.svg HTTP/2.0" 200 27530 xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /bg-middle.png HTTP/2.0" 200 1918 xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /favicon.ico HTTP/2.0" 200 21630

Видите ли вы как HTTP/2.0 классифицируется в каждом запросе?

Использование интернет-инструментов

Если URL-адрес вашего приложения Tomcat доступен в Интернете, вы можете проверить следующие инструменты.

  • Geekflare HTTP/2 Test
  • HTTP2.Pro

Заключение

Реализация H2 на Tomcat проста.

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

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…