#howto - Abilitazione del protocollo HTTP/2 in Apache

Scritto da il
Redatto da
nginx
apache
centos

Pochi giorni fa abbiamo spiegato come Abilitare il protocollo HTTP/2 in Nginx, oggi affrontiamo lo stesso discorso per Apache.

Il protocollo HTTP/2 è la seconda versione del comune protocollo HTTP utilizzato nel web. Si basa su SPDY, un protocollo di trasferimento creato da Google che riduce la latenza e le prestazioni nella fase di caricamento delle pagine web.

Abilitare il nuovo protocollo permette non solo di godere di un nuovo sistema di trasporto dei dati ma di maggiori prestazioni facilmente notabili. Questo grazie ad un sistema che alleggerisce il trasporto dei contenuti, riducendone la dimensione e suddividendoli in unità più grandi, tutto automaticamente.

Requisiti

Configurazione

Il protocollo HTTP/2 necessita di un certificato SSL, per questo motivo ne andremo a generare uno per poi procedere alla configurazione di nginx.

Certificato SSL

Di seguito è presente la procedura su come generare un certificato Self-Signed, nel caso foste interessati ad un certificato Let’s Encrypt, seguite la guida disponibile a questo link.

Possiamo generare un certificato via openssl:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crtsudo openssl dhparam -out /etc/ssl/certs/apache-selfsigned.pem 2048

Configurazione di Apache

Ora procediamo con la configurazione di Apache. Per prima cosa dobbiamo abilitare i moduli ssl e http2 tramite a2enmod:

sudo a2enmod sslsudo a2enmod http2

 modifichiamo poi la configurazione del nostro vhost come segue:

<VirtualHost *:443>  ServerName il_mio_dominio.ex  ServerAlias www.il_mio_dominio.ex  DocumentRoot /var/www/il_mio_dominio.ex/public_html  SSLEngine on  SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key  SSLCertificateFile /etc/ssl/private/apache-selfsigned.crt  SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1  Protocols h2 http/1.1</VirtualHost>

Riavviamo infine httpd:

sudo systemctl restart httpd

Good *nix?
 - Mirko

history_edu Revisioni