logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 09-06-2018 20:32:03

root@rkn
Membre
Lieu : Grenoble
Distrib. : Debian 10 Apache2 HTTPS HTTP/2 BROTLI REDIS
Noyau : PROD: 4.19.37-5 (2019-06-19) x86_64
(G)UI : headless - aucun
Inscription : 24-02-2018
Site Web

Installation activation protocole HTTP/2 pour apache2

Rendre Internet va être plus rapide avec le HTTP/2 ??

Le “HTTP”, Hypertext Transfer Protocol, est une composante clé du réseau Internet mondial. C’est la couche de communication par laquelle les navigateurs web envoient les requêtes aux serveurs d’hébergement, et par laquelle ces derniers renvoient les pages web demandées. Le protocole HTTP 1.1 utilisé depuis 1999. Il est maintenant temps de le remplacer par son grand frère le HTTP/2.

Le web a radicalement changé: utilisation croissante des images, des feuilles de style (CSS), des videos, du son, des codes Javascript, du Flash...
Le HTTP originel (HTTP 1.1) est un protocole simple pour un Internet simple !
Il n’a pas été conçu pour supporter le nombre croissant de sites web au contenu multimédia riche ou d’application en ligne comme les logiciels CRM de plus en plus populaires.

Pourquoi passer au HTTP/2 ?
Le protocole HTTP/2 permet d’améliorer la vitesse des échanges des données sur le web. Concrètement cela va se faire via le biais de trois grands axes :

1) Le multiplexing
Avant, pour chaque chargement d’élément sur une page, il fallait ouvrir 3 connexions TCP. HTTP/2 permet en une seule connexion TCP de faire transiter plusieurs éléments.
uv23.jpg

2) Le push
Avec HTTP/2 on a la possibilité de définir des éléments prioritaires par rapport à d’autres. Par exemple, si lors du chargement d’une page un fichier CSS doit être chargé par le client en priorité pour faire fonctionner un menu, alors le serveur le push pour l’envoyer en priorité au client.
veww.jpg


3) La compression des en-têtes HTTP (Bzip; Brotli ...)
Avant, chaque requête était accompagnée d’une en-tête « texte ».Les en-têtes ne sont plus en texte mais en binaire. La première en-tête est complète, et les requêtes suivantes ne contiennent que les éléments changeants.
yhov.jpg


Prérequis:
Depuis Debian Jessie ( et donc supérieur comme stretch ) Apache2 est pré-compilé pour supporté le protocole http/2.
Et bien entendue HTTPS en fonction sur votre serveur.
la commande suivante permettra d'installer les paquets requis manquants si besoin 

apt-get install openssl libssl1.0.2 libssl-dev apache2 apache2-bin apache2-data libnghttp2-14




Activation désactivation:


# activation
a2enmod http2
service apache2 restart
# il peut être utile de redémarrer le service php7.0-fpm
# service php7.0-fpm restart

# desactivation
a2dismod http2
service apache2 restart
# il peut être utile de redémarrer le service php7.0-fpm
# service php7.0-fpm restart
 



Fichiers de configuration apache2
Avec ou sans virtual host, il y a des modification a apporter au fichier apache2.conf.
Personnellement, je les applique toujours serveur wide.



# example des corrections/ajouts pour http/2 pour serveur ayant une redirection permanente en https.

<IfModule mod_ssl.c>

<VirtualHost *:443>
       # rajouter ligne:
# si pas de redirection https permanente, utiliser ligne suivante:
# Protocols h2, h2c http/1.1
Protocols h2 http/1.1
</VirtualHost>

# configuration ssl moderne
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite       EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH

SSLHonorCipherOrder     on
SSLCompression          on
SSLSessionTickets       off

SSLOptions +StrictRequire


# OCSP Stapling, only in httpd 2.3.3 and later
SSLUseStapling          on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache        shmcb:/var/run/ocsp(128000)



# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
</IfModule>
# EOF

 



Pour tester si http2 est bien fonctionnel, utiliser: https://tools.keycdn.com/http2-test


- If it works, dont update it.
- You don't know how, just do it, you will learn.
- Test, re-stest, test again, and maybe it will work.
- https://nextcloud.rkn.ovh/index.php/s/3yp93A7oNMPexcp

Hors ligne

#2 12-06-2018 17:55:08

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : Installation activation protocole HTTP/2 pour apache2

Merci pour ce tuto.

Le module http2 n'est présent dans apache2 que depuis la version 2.4.17 https://httpd.apache.org/docs/2.4/mod/mod_http2.html , or c'est la 2.4.10 qui est dans Jessie https://packages.debian.org/fr/jessie/apache2 . Aussi, l'activation d'apache2 sur Debian n'est possible en standard qu'à partir de Stretch.

@rkn: Comme ce que tu as fait est un tutoriel et non une discussion/demande d'aide, cela aurait mieux sa place dans le wiki. Ce dernier est ouvert à tous pour les contributions, cf. https://debian-facile.org/atelier:chantier:accueil

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#3 12-06-2018 20:00:33

infothema
CA Debian-Facile
Lieu : Bégard (Côtes d'Armor)
Distrib. : Almalinux 9 - Fedora 39
(G)UI : GNOME
Inscription : 28-01-2012
Site Web

Re : Installation activation protocole HTTP/2 pour apache2

Merci root@rkn pour ce partage yes.gif

Association libriste infothema  située dans les Côtes d'Armor (Bretagne)
Blog : https://www.infothema.fr / Forum : https://www.infothema.fr/forum
Twitter : https://twitter.com/asso_infothema / Compte Mastodon : https://framapiaf.org/@infothema / PeerTube : https://infothema.net

Hors ligne

#4 19-06-2018 15:45:08

root@rkn
Membre
Lieu : Grenoble
Distrib. : Debian 10 Apache2 HTTPS HTTP/2 BROTLI REDIS
Noyau : PROD: 4.19.37-5 (2019-06-19) x86_64
(G)UI : headless - aucun
Inscription : 24-02-2018
Site Web

Re : Installation activation protocole HTTP/2 pour apache2

captnfab a écrit :

Merci pour ce tuto.

Le module http2 n'est présent dans apache2 que depuis la version 2.4.17 https://httpd.apache.org/docs/2.4/mod/mod_http2.html , or c'est la 2.4.10 qui est dans Jessie https://packages.debian.org/fr/jessie/apache2 . Aussi, l'activation d'apache2 sur Debian n'est possible en standard qu'à partir de Stretch.

@rkn: Comme ce que tu as fait est un tutoriel et non une discussion/demande d'aide, cela aurait mieux sa place dans le wiki. Ce dernier est ouvert à tous pour les contributions, cf. https://debian-facile.org/atelier:chantier:accueil




C'est sur, je vais apporter les petites correction est le mettre au wiki....asap...


- If it works, dont update it.
- You don't know how, just do it, you will learn.
- Test, re-stest, test again, and maybe it will work.
- https://nextcloud.rkn.ovh/index.php/s/3yp93A7oNMPexcp

Hors ligne

#5 12-07-2018 18:23:30

jce76350
Membre
Lieu : Rouen
Distrib. : Debian_Bullseye 12.8
Noyau : 6.1.0-27-amd64
(G)UI : XFCE
Inscription : 24-08-2016
Site Web

Re : Installation activation protocole HTTP/2 pour apache2

je ne suis pas sur que libssl-dev soit nécessaire
j'ai le fonctionnement correct sans cet lib
de plus sous Debian 9.x Apache+PHP+mariadb toutes les libs  openssl, libssl1.0.2, libnghttp2-14 sont déja OK
Pour info comme je suis en local je teste HTTP2 avec l'extension Firefox HTTP/2 Indicator qui affiche une icône dans la barre d'adresse.

--
Jc E

Hors ligne

#6 12-07-2018 20:37:40

root@rkn
Membre
Lieu : Grenoble
Distrib. : Debian 10 Apache2 HTTPS HTTP/2 BROTLI REDIS
Noyau : PROD: 4.19.37-5 (2019-06-19) x86_64
(G)UI : headless - aucun
Inscription : 24-02-2018
Site Web

Re : Installation activation protocole HTTP/2 pour apache2

libssl-dev est effectivement pas necessaire... j'ai "pompé" depuis une conf d'un serveur perso, et vu que j'ai besoin du -dev, en fait, je l'inclue dans toutes mes conf ...

- If it works, dont update it.
- You don't know how, just do it, you will learn.
- Test, re-stest, test again, and maybe it will work.
- https://nextcloud.rkn.ovh/index.php/s/3yp93A7oNMPexcp

Hors ligne

#7 21-07-2018 17:14:14

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Installation activation protocole HTTP/2 pour apache2

Salut smile

Je ne sais pas si la page du wiki a déjà été faite, mais je viens de tomber sur ça via apt-listchange lors de la mise à jour de apache2 dans Stretch

This package upgrades mod_http2 to the version from apache2 2.4.33. This
    fixes a lot of bugs and some security issues, but it also removes the
    support for using HTTP/2 when running with mpm_prefork. HTTP/2 support
    is only provided when running with mpm_event or mpm_worker.
 


Ça ne me cause pas plus que ça à moi, mais si ça peut être utile ... cool


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#8 31-07-2018 15:41:51

root@rkn
Membre
Lieu : Grenoble
Distrib. : Debian 10 Apache2 HTTPS HTTP/2 BROTLI REDIS
Noyau : PROD: 4.19.37-5 (2019-06-19) x86_64
(G)UI : headless - aucun
Inscription : 24-02-2018
Site Web

Re : Installation activation protocole HTTP/2 pour apache2

oui, merci

en fait, la mise a jour en 9.5 tue le support http/2 si php mpm_prefork est en utilisation ....

bendia a écrit :

Salut smile

Je ne sais pas si la page du wiki a déjà été faite, mais je viens de tomber sur ça via apt-listchange lors de la mise à jour de apache2 dans Stretch

This package upgrades mod_http2 to the version from apache2 2.4.33. This
    fixes a lot of bugs and some security issues, but it also removes the
    support for using HTTP/2 when running with mpm_prefork. HTTP/2 support
    is only provided when running with mpm_event or mpm_worker.
 


Ça ne me cause pas plus que ça à moi, mais si ça peut être utile ... cool


- If it works, dont update it.
- You don't know how, just do it, you will learn.
- Test, re-stest, test again, and maybe it will work.
- https://nextcloud.rkn.ovh/index.php/s/3yp93A7oNMPexcp

Hors ligne

#9 21-12-2018 11:08:30

titan06
Membre
Inscription : 21-12-2018

Re : Installation activation protocole HTTP/2 pour apache2

Bonjour

voila j'arrive pas a activer le http2 sur mon serveur debian 9
j'ai pas de message d'erreur les module sont normalement bien activer
mais quand je fait le teste sur le site ca me dit que le http2 et pas activer et  ALPN non plus

# SSLProtocol : Active le support de toutes les versions SSL mais SAUF SSLv2 et v3 qui ne sont plus suffisamment sécurisées.
    SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
# SSLHonorCipherOrder : Quand activé, le serveur force ses préférences de protocoles et non le navigateur du client.
    SSLHonorCipherOrder on
    SSLCompression off
# SSLOptions +StrictRequire : Exige une connexion SSL stricte
    SSLOptions +StrictRequire
# SSLCipherSuite : Liste des algorithmes de chiffrement disponibles

SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK


# /!\ ne pas oublier de faire " a2enmod headers " sur le shell pour pas avoir une erreur. relancer apache service apache2 restart
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
 



dans tout mes virtualhost en https j'ai écrit ca

Protocols h2 h2c http/1.1


--------------------------------
Désoler pour mon orthographe
Librement Titan

Hors ligne

#10 21-12-2018 14:58:10

jce76350
Membre
Lieu : Rouen
Distrib. : Debian_Bullseye 12.8
Noyau : 6.1.0-27-amd64
(G)UI : XFCE
Inscription : 24-08-2016
Site Web

Re : Installation activation protocole HTTP/2 pour apache2

perso j'ai installé comme indiqué ici

--
Jc E

Hors ligne

#11 21-12-2018 18:47:42

titan06
Membre
Inscription : 21-12-2018

Re : Installation activation protocole HTTP/2 pour apache2

jce76350 a écrit :

perso j'ai installé comme indiqué ici



ca marche pas toujours le meme souci ....

faut il en http2.conf pour le mod ? si oui vous pouvez m'envoyer le votre svp


edit: dans mon phpinfo

j'ai bien http2 en yess

Dernière modification par titan06 (21-12-2018 19:07:29)


--------------------------------
Désoler pour mon orthographe
Librement Titan

Hors ligne

#12 15-01-2019 02:25:14

root@rkn
Membre
Lieu : Grenoble
Distrib. : Debian 10 Apache2 HTTPS HTTP/2 BROTLI REDIS
Noyau : PROD: 4.19.37-5 (2019-06-19) x86_64
(G)UI : headless - aucun
Inscription : 24-02-2018
Site Web

Re : Installation activation protocole HTTP/2 pour apache2

Je remet le couvert pour une petite correction...

si dans error.log de apache2 vous avez ce genre de message:

AH10034: The mpm module (prefork.c) is not supported by mod_http2. The mpm determines how things are processed in your server. HTTP/2 has more demands in this regard and the currently selected mpm will just not do. This is an advisory warning. Your server will continue to work, but the HTTP/2 protocol will be inactive.



il faute faire les manip suivante pour corriger et réactiver le mod HTTP2


script a adapter a votre version de php

 systemctrl stop apache2
    apt-get install php7.x-fpm
    a2enmod proxy_fcgi setenvif
    a2enconf php7.x-fpm
    a2dismod php7.x
    a2dismod mpm_prefork
    a2enmod mpm_event
    a2enmod  mpm_worker
 systemctrl start apache2



https://nextcloud.rkn.ovh/index.php/s/3 … result.jpg

Dernière modification par root@rkn (15-01-2019 02:30:14)


- If it works, dont update it.
- You don't know how, just do it, you will learn.
- Test, re-stest, test again, and maybe it will work.
- https://nextcloud.rkn.ovh/index.php/s/3yp93A7oNMPexcp

Hors ligne

Pied de page des forums