Problemas com uploads de arquivos com o apache 2.4 + http2 + proxy_http

1

No momento, estou tentando ativar o http2 para um projeto. O sistema está rodando no Ubuntu 16.04 na AWS por trás de um ELB com o proxy_protocol ativado. O site está executando SSL apenas com o Apache 2.4 do ppa: ondrej / apache2 no modo mpm_event e um tomcat 7 como backend. A configuração do 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>

As solicitações "normais" de GET / POST funcionam bem se habilitarmos http2, apenas o upload de um arquivo causa uma mensagem como essa nos registros com um 400 Bad Request for the Client:

[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: 

eu fiz algumas stracing e o pedido não é envio de evento para o tomcat, ele fica preso no apache. Os cabeçalhos do Proxy Protocol também parecem ok, então eu também estou confuso com a primeira mensagem.

Alguém tem uma ideia do que está acontecendo aqui:)?

    
por SebMel 01.07.2017 / 16:07

1 resposta

0

Parece um bug no mod_proxy_protocol. Não é compatível com o mod_http2 no momento.

Veja este bug para mais detalhes: link

    
por 01.07.2017 / 21:32