Как включить 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.

Давайте начнем

Убедитесь, что у вас есть права 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/2
cd /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.conf
cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak
Перейти к Apache Settings >> Apache Re-Build >> Select Next :
Далее добавьте этот флаг / строку в конце “Additional configuration”:
--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