Tester en local HTTP2 sous Debian 9.x + PHP 7.2


Suite à l'installation de PHP 7.2.x et ensuite ajouter le HTTPS en local pour tester différents sites Web, je vais ajouter le HTTP2 pour d’améliorer la vitesse des échanges des données sur les sites.

Les manipulations sont faites en ligne de commande administrateur (plus simple à reproduire ici)
Uniquement pour tests et information "à vos risques et périls" ;-)
Nota suivant la distribution Linux le logiciel éditeur de texte mousepad peut être remplacer gedit , geany par ou autre a votre convenance.

NOTE il faut au minimum Apache 2.4.17 ( c'est donc OK avec Debian 9.x)
Pour cela lancer un phpinfo  vous devez voir sous Curl  HTTP2     Yes
phpinho-HTTP2

et ensuite vous pouvez aussi tester en console
 curl -V

cela donnera
curl 7.52.1 ..... TLS-SRP HTTP2  .....  


D'abord vérifier si besoin que les paquets requis sont présents (ici les versions lors du test)
openssl  1.1.0f-3+deb9u
libssl1.0.2  1.0.2l-2+deb9u3
libnghttp2-14  1.18.1-1
Sinon les installer

apt-get install openssl libssl1.0.2 libnghttp2-14

Puis activer ensuite le module http2

a2enmod http2

cela donnera
Enabling module http2.
To activate the new configuration, you need to run:
  systemctl restart apache2


Vérifier dans le  phpinfo :  Loaded Modules  mod_http2

Afin de visualiser ce mode HTTP2 vous pouvez utiliser sous Firefox le module HTTP/2 Indicator


Comme dans Créer un site en local avec HTTPS il avait été crée un fichier /etc/apache2/sites-available/tracfoil.local.conf
- Il faudra donc ajouter dans ce fichier avant la ligne </VirtualHost> une ligne Protocols h2 http/1.1

Pour cela éditer le fichier avec
gksudo mousepad /etc/apache2/sites-available/tracfoil.local.conf
et ajouter les 2 lignes
# http2 for a https server
  Protocols h2 http/1.1

cela donnera
        #pour rewrite
AllowOverride All
# ajouter les 2 lignes
# http2 for a https server
  Protocols h2 http/1.1
</Directory>
</VirtualHost>
</IfModule>


Puis
systemctl restart apache2 


Il reste à tester avec la navigateur (ici un fichier http2_index.html)
l’adresse de tests ici en local : https://localtracfoil.com/http2_index.html

HTTP2


Il est possible aussi de tester avec Curl

curl -I -k --http2  https://localtracfoil.com
** cela donne **
HTTP/2 200
date: Sat, 09 Jul 2018 20:12:04 GMT
server: Apache/2.4.25 (Debian)
last-modified: Fri, 13 Apr 2018 15:56:12 GMT
etag: "2d89-569bce945ff00"
accept-ranges: bytes
content-length: 11657
vary: Accept-Encoding
content-type: text/html



Crédits
- pour les affichages en ligne de commande : Syntax highlighting for the Web
- mettre à jour Apache et configurer le mod_http2 pour HTTP/2
- Guide HTTP/2
- Installation activation protocole HTTP/2 pour apache2

Erreurs, omissions, corrections merci de me le signaler

Document http://jc.etiemble.free.fr/abc/ JCE - version du 05/09/2018-0CC_licence