HTTP / 2 не работает на RHEL 6 и Apache 2.4.34 - PullRequest
0 голосов
/ 25 октября 2018

У меня проблема с работой HTTP / 2 на нашем сервере.Ниже приведена наша конфигурация:

# httpd -v
Server version: Apache/2.4.34 (IUS)

# apachectl -M
Loaded Modules:
....
http2_module (shared)
....
mpm_event_module (shared)

# more vhost.conf
....
SSLEngine on
SSLCipherSuite AES256-SHA:AES128-SHA:DHE-DSS-AES256-SHA:DHE-DSS-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA
SSLProtocol TLSv1.2
....
Protocols h2 h2c http/1.1

Я читал на многочисленных постах, что это может быть проблемой с mpm_prefork, но, как вы можете видеть, мы используем mpm_event.Также прочитайте, что это может быть проблемой с помещенным в черный список SSLChpherSuite, но ни один из тех, которые мы используем, не находится в черном списке.Глядя на заголовки, я вижу обновление:

Version: HTTP/1.1
....
Upgrade h2,h2c

Это должно работать, но каждый онлайн-тест, который мы запускаем, говорит нам, что наш сервер не поддерживает HTTP / 2.Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 25 октября 2018

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

Все они находятся на черный список !

AES256-SHA - это, например, TLS_RSA_WITH_AES_256_CBC_SHA, как может показаться здесь: https://testssl.sh/openssl-rfc.mapping.html

Используйте генератор конфигурации Mozilla SSL , чтобы выбрать лучшийсписок шифров.Если вы поддерживаете TLSv1.2, вы будете поддерживать лучшие шифры.

Другая причина может заключаться в отсутствии поддержки ALPN.Вам нужно, чтобы ваш Apache был собран с OpenSSL 1.0.2 или лучше, чтобы иметь это.

И последняя причина может быть, если что-то еще находится перед вашим сервером (например, loadbalancer), и это записьуказывает и не поддерживает HTTP / 2.

Запуск вашего сервера через https://www.ssllabs.com/servertest/ должен подтвердить поддержку ALPN, какие шифры вы поддерживаете и даже если HTTP / 2 поддерживает.

...