7 de dezembro de 2021

Do bit Ao Byte

Embarcados, Linux e programação

Como configurar HTTP/2 no Apache

HTTP/2 no Apache

Está cada vez mais complicado manter um site ou um blog, sendo boa parte dessas complicações geradas pela “dona da Internet”. Configurar HTTP/2 no Apache passou a ser uma necessidade também para quem tem preocupação com o Core Web Vitals (se é que alguém não tem) e assim, após “exigir” configuração SSL para hospedagens sem conteúdo sensível, chegamos no momento em que devemos priorizar a experiência do usuário no celular, ainda que seu tráfego seja maiormente advindo de desktops/laptops.

Não vou discorrer a respeito do trabalho imenso que foi ajustar o blog para atender aos critérios determinados pelo maior indexador do universo, mas vou mostrar essa configuração interessante e breve, que auxiliará a multiplexar uma requisição e melhorará o desempenho do servidor web.

Troque o MPM pelo FPM

É fundamental que seu site já tenha SSL configurado, mas se já está no ponto de se preocupar com essa configuração, certamente já passou por todo o resto.

No Debian 10, proceda da seguinte maneira:

sudo apt-get install php7.3-fpm
sudo a2dismod php7.3
sudo a2enconf php7.3-fpm
sudo a2enmod proxy_fcgi

Habilitar o HTTP/2 no Apache

Preceda desabilitando o módulo mpm_prefork, então ative o mpm_event:

sudo a2dismod mpm_prefork
sudo a2enmod mpm_event

Apenas para desencargo de consciência, certifique que o SSL está habilitado, então habilite o HTTP/2 no Apache e reinicie o serviço:

sudo a2enmod ssl
sudo a2enmod http2
sudo systemctl restart apache2

Dentro do arquivo do VirtualHost SSL do seu site, adicione essa linha antes de fechar a seção:

Protocols h2 http/1.1

E é isso. Se ainda está na fase do SSL, dê uma olhada no Lets Encrypt, que é uma autoridade de certificação gratuita.

Confesso que não lembro a razão de tê-lo feito na época, mas tem um artigo interessante sobre o mod_rewrite no Apache. Mas se ainda está na fase que pode escolher o servidor web, recomendo o nginx, do qual já fiz coisas incríveis em diversos países, principalmente utilizando-o como balanceador. Mas como servidor web ele é incrível, prático, leve e descomplicado. Tenho alguns livros sobre ele e a curva de aprendizado é bem curta.