Как включить HTTP/2 для Apache в CWP с модулем mod_http2
В этом уроке мы установим Apache 2.4 и включим поддержку HTTP/2 в CWP . HTTP/2 сделает наши приложения быстрее, проще и надежнее благодаря тому, что мы можем отменить многие из обходных путей HTTP/1.1, ранее выполненных в наших приложениях, и решить эти проблемы. Более того, он также открывает ряд совершенно новых возможностей для оптимизации наших приложений и повышения производительности!
Основными целями для HTTP/2 являются снижение задержки за счет обеспечения полного мультиплексирования запросов и ответов, минимизации накладных расходов на протокол посредством эффективного сжатия полей заголовков HTTP и добавления поддержки приоритизации запросов и отправки на сервер. Для реализации этих требований существует большое число других улучшений протокола, таких как новые механизмы управления потоками, обработки ошибок и обновления, но это наиболее важные функции, которые каждый веб-разработчик должен понимать и использовать в своих приложениях.
Рекомендуется обновиться до CWP7/Centos 7, так как cwp6/centos 6 устарели.
Убедитесь, что у вас уже установлены сертификаты SSL/LE для ваших доменов. HTTP2 будет работать только с HTTPS.
Далее добавьте этот флаг / строку в конце “Additional configuration”:
![]()
После того, как вы собрали Apache, нам нужно включить HTTP/2 в конфигурации Apache:
затем добавьте эту строки и сохраните:
Вы также можете использовать эту команду для автоматического создания и добавления строк:
Вы можете проверить, включен http / 2 или нет через этот сайт:
![]()
Если что-то пойдет не так, восстановите резервную копию Apache httpd.conf :
Основными целями для HTTP/2 являются снижение задержки за счет обеспечения полного мультиплексирования запросов и ответов, минимизации накладных расходов на протокол посредством эффективного сжатия полей заголовков HTTP и добавления поддержки приоритизации запросов и отправки на сервер. Для реализации этих требований существует большое число других улучшений протокола, таких как новые механизмы управления потоками, обработки ошибок и обновления, но это наиболее важные функции, которые каждый веб-разработчик должен понимать и использовать в своих приложениях.
Рекомендуется обновиться до CWP7/Centos 7, так как cwp6/centos 6 устарели.
Убедитесь, что у вас уже установлены сертификаты SSL/LE для ваших доменов. HTTP2 будет работать только с HTTPS.
Давайте начнем
Убедитесь, что у вас есть права root и ssh для установки / обновления этих пакетов: -Обновление ОС до последней версии:
yum clean all
yum -y update
Обновление Autoconf:
cd /usr/local/src
rm -rf autoconf-*
wget https://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
tar zxvf autoconf-latest.tar.gz
cd autoconf-*
./configure --prefix=/usr
make && make install
Обновление Openssl:
cd /usr/local/src
rm -rf openssl-*
wget https://www.openssl.org/source/openssl-1.1.0i.tar.gz
tar zxvf openssl-1.1.0i.tar.gz
cd openssl-*
./config --prefix=/usr --openssldir=/usr/lib64 shared
make && make install
Проверьте версию Openssl и убедитесь, что она успешно установлена: openssl version
Установка Nghttp2:
nghttp2 - это реализация HTTP/2cd /usr/local/src
rm -rf nghttp2-*
yum install libtool -y
wget https://github.com/nghttp2/nghttp2/releases/download/v1.32.0/nghttp2-1.32.0.tar.gz
tar zxvf nghttp2-1.32.0.tar.gz
cd nghttp2-*
./configure --prefix=/usr
make && make install
Перестройка Apache с поддержкой http2 из CWP GUI:
Сначала сделайте резервную копию httpd.confcp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak
Перейти к Apache Settings >> Apache Re-Build >> Select Next :
--enable-http2
затем нажмите Start Compiler in background. 
После того, как вы собрали Apache, нам нужно включить HTTP/2 в конфигурации Apache:
nano /usr/local/apache/conf.d/http2.conf
затем добавьте эту строки и сохраните:
LoadModule http2_module modules/mod_http2.so
LogLevel http2:info
Protocols h2 h2c http/1.1
Вы также можете использовать эту команду для автоматического создания и добавления строк:
cat > /usr/local/apache/conf.d/http2.conf << EOF
LoadModule http2_module modules/mod_http2.so
LogLevel http2:info
Protocols h2 h2c http/1.1
EOF
Перезапустите Apache:
service httpd restart
Вы можете проверить, включен http / 2 или нет через этот сайт:

Если что-то пойдет не так, восстановите резервную копию Apache httpd.conf :
rm -rf /usr/local/apache/conf/httpd.conf
cp /usr/local/apache/conf/httpd.conf.bak /usr/local/apache/conf/httpd.conf
service httpd restart
Комментариев 0