2016-11-21 5 views
3

У меня есть сервер CENTOS7 с:как включить http2 на centos7

версии сервера: Apache/2.4.6 (CentOS)

. Как я могу включить/добавить HTTP/2 в эти Apache? Я пытаюсь отправить HTTP2-запросы от клиента через Nghttp, но я получаю сообщение об ошибке (recv RST_STREAM-фрейм) в результате сервера, который не поддерживает Http2.

Я видел, что я должен включить module_http2 в апача, но я не нашел горячей я могу это сделать.

Thanks in Advance.

+0

Вам необходимо создать его из источника, добавив следующий флаг: --enable-http2' – Hackerman

ответ

4

Поддержка HTTP/2 была добавлена ​​только в Apache 2.4.18, которая недоступна в стандартных репозиториях CentOS/Red Hat. Хотя, поскольку mod_http2 был (и до сих пор на момент написания) активно работает, вы должны пойти с последней версией (2.4.27 на момент написания), хотя есть и другие исправления mod_http2, доступные поверх этого).

Дополнительно HTTP/2 требует OpenSSL 1.0.2 или выше, который также недоступен в стандартных репозиториях (обратите внимание, что для поддержки OpenSSL 1.1.0 требуется Apache 2.4.26 или выше).

Итак, вам нужно загрузить и скомпилировать более поздний Apache и OpenSSL из источника - или найти другое репо с этими более поздними версиями. Это сопряжено с некоторыми рисками - в первую очередь, что вы теряете простые исправления безопасности, которые поставляют версии репо. Centos Apache 2.4.6 фактически включает в себя все последние исправления безопасности более поздних версий (при условии, что вы регулярно запускаете «обновление yum» для его обновления), но не изменения функциональности, такие как http/2 (отсюда почему они оставляют номер версии на 2.4.6) ,

Если вы заинтересованы в установке из исходников, то Я шаг за шагом в блоге о том, как сделать это здесь: https://www.tunetheweb.com/performance/http2/

0

Вы можете установить новую версию HTTPD, чем входит в базовых хранилищ через the httpd24 Software Collection. После того, как вы включите SCL, вам понадобятся следующие пакеты:

  • httpd24
  • httpd24-nghttp2
  • httpd24-mod_ssl *

* Лучше настроить SSL тоже, потому что для Например, Chrome будет только HTTP2 с TLS.

Смежные вопросы