Atualização: A partir do Apache 2.4.26, o mod_http2 não é mais considerado experimental. A resposta abaixo foi atualizada para refletir isso.
Observe também que o mod_http2_proxy ainda é considerado experimental.
O Tag Experimental é adicionado quando a funcionalidade é adicionada pela primeira vez e, como o texto explica, avisa que a implementação, as opções e as APIs podem estar sujeitas a alterações. Portanto, se você estiver usando um recurso experimental, leia atentamente o arquivo de alterações ao instalar as atualizações subseqüentes Certifique-se de que você está ciente de todas as alterações que você precisará fazer.
A tag Experimental não significa que a implementação é instável. Geralmente, as opções instáveis não serão adicionadas diretamente à árvore de origem principal do Apache e, em vez disso, serão tratadas como módulos instaláveis separados.
Dizendo que, para usar HTTP / 2 você precisará atualizar para o 2.4.17 pelo menos, mas realmente deve atualizar para o mais recente (2.4.26 no momento da escrita), já que este módulo está mudando um pouco, teve um número de melhorias de bug e desempenho desde o lançamento, e até abordou vários CVEs (incluindo: 2016-1546 2016-8740 e 2017-7659 ). Isso não quer dizer que seja particularmente problemático ou perigoso, e há muitos outros CVEs no Apache (e praticamente todos os outros softwares), mas isso significa que você realmente deve executar a versão mais recente.
Você também precisará compilar o OpenSSL 1.0.2 para trabalhar com o Chrome e o Firefox (pois eles só permitem que o protocolo ALPN mais recente e não o protocolo NPN mais antigo negocie a conexão HTTP / 2), o que pode ser uma dor extra como a maioria dos gerenciadores de pacotes não inclui isso ainda. A partir do 2.4.26, o Apache também suporta o OpenSSL 1.1.
A execução de versões mais recentes e a compilação a partir da origem, em vez de gerentes de pacotes (por exemplo, yum ou APT) exigem um esforço extra e disciplina (pois não serão instaladas ou corrigidas com facilidade), além do escopo da sua pergunta. mas não é algo para ser introduzido de ânimo leve. Isso tudo está assumindo que você está no Linux. Se você está no Windows, provavelmente já está baixando e instalando separadamente.
Finalmente, para o ponto crucial da sua pergunta. No release Apache 2.4.26, o aviso experimental foi descartado para o módulo mod_http2
principal, embora ainda esteja em vigor para o módulo mod_proxy_http2
mais recente. Eu pessoalmente tenho rodado o HTTP / 2 no meu blog pessoal desde 2.4.17 e nunca tive problemas reais com ele. Parece estável o suficiente para mim. Então, novamente eu não recebo altos volumes de tráfego e não é um grande problema para mim se ele cair. Eu correria contra um site de produção real? Provavelmente não até que o alerta experimental fosse removido (2.4.26). Então, novamente, a única maneira que isso acontece é se as pessoas experimentarem. O HTTP / 2 também é bastante fácil de desligar se causar problemas. Basicamente depende totalmente do seu apetite ao risco. Você pode ler (e assinar) a lista de problemas conhecidos no GitHub ( link ) e o autor do módulo é muito responsivo e útil.
Não tenho certeza do que você está perguntando sobre a funcionalidade do proxy reverso. Desde 2.4.21 o Apache introduziu mod_proxy_http2
que lida com backends HTTP / 2, mas eu diria que é ainda menos usado e testado (ainda marcado como experimental). Também não é tão útil: os principais benefícios do HTTP / 2 são em redes de alta latência (ou seja, de cliente para frontend), em vez de nas conexões frontend-backend de baixa latência. Então, por enquanto, eu teria HTTP / 2 no Apache, mas manteria a conexão do proxy reverso com qualquer infra-estrutura de backend para HTTP / 1. E sim, isso funciona absolutamente bem, se é isso que você estava perguntando, embora as respostas para be benefits to speaking HTTP / 2 durante todo o tempo .