Проблемы с загрузкой файлов с помощью apache 2.4 + http2 + proxy_http

В настоящее время я пытаюсь включить http2 для проекта. Система работает на Ubuntu 16. 04 на AWS за ELB с включенным proxy_protocol. Сайт использует SSL только с Apache 2.4 из ppa: ondrej / apache2 в режиме mpm_event и tomcat 7 в качестве бэкэнда. Конфигурация vhost:

<VirtualHost *:443>
  ProxyProtocol On
  ServerName myhostname
  DocumentRoot /var/www/html/

  <Directory /var/www/html/>
    Options +FollowSymLinks -Indexes
    AllowOverride None
    Require all granted
  </Directory>
  <Location />
    Require all granted
  </Location>


  Header always set Strict-Transport-Security "max-age=86400"

  RequestHeader set X-Forwarded-Proto https
  SSLEngine On
  SSLCertificateFile       mycrt
  SSLCertificateKeyFile    mykey

  ProxyTimeout 1800
  ProxyPreserveHost on
  ProxyPass         /  http://localhost:8080/
  ProxyPassReverse  /  http://localhost:8080/

</VirtualHost>

"Нормальные" запросы GET / POST работают нормально, если мы включаем http2, просто загрузка файла вызывает в журналах такое сообщение с 400 ошибочным запросом для клиента:

[proxy_protocol:error] [client ] ProxyProtocol: no valid header found
[proxy_http:error] (103)Software caused connection abort: [client ] AH01095: prefetch request body failed to 127.0.0.1:8080 (localhost) from 10.X (), referer: 

Я сделал несколько stracing, и запрос не является отправкой события в tomcat, он застревает в apache. Заголовки протокола прокси тоже выглядят нормально, поэтому первое сообщение меня тоже смущает.

Кто-нибудь знает, что здесь происходит :)?

1
задан 1 July 2017 в 17:07
1 ответ

Похоже на ошибку в mod_proxy_protocol. В настоящее время он несовместим с mod_http2.

См. Эту ошибку для более подробной информации: https://github.com/roadrunner2/mod-proxy-protocol/issues/6

0
ответ дан 4 December 2019 в 04:49

Теги

Похожие вопросы