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

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
sudo 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

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-0
