<-
Apache > Serveur HTTP > Documentation > Version 2.5 > Modules

Module Apache mod_proxy_http2

Langues Disponibles:  en  |  fr 

Description:Support de HTTP/2 pour mod_proxy
Statut:Expérimental
Identificateur de Module:proxy_http2_module
Fichier Source:mod_proxy_http2.c
Compatibilité:Disponible à partir de la version 2.4.19 du serveur HTTP Apache

Sommaire

mod_proxy_http2 ne supporte que HTTP/2 et ne permet pas de rétrogradation vers HTTP/1.1. Cela signifie que le serveur d'arrière-plan doit supporter HTTP/2 car HTTP/1.1 ne pourra alors pas être utilisé.

Ce module nécessite la présence de mod_proxy ; pour pouvoir traiter les requêtes mandatées HTTP/2, mod_proxy et mod_proxy_http2 doivent donc être chargés par le serveur.

mod_proxy_http2 travaille avec des requêtes entrantes en HTTP/1.1 ou HTTP/2. Dans les deux cas, les requêtes vers le même serveur d'arrière-plan sont envoyées via une seule connexion TCP, dans la mesure du possible (autrement dit lorsque la connexion peut être réutilisée).

Avertissement : il ne sera effectué aucune tentative de fusion de plusieurs requêtes entrantes HTTP/1 (devant être mandatées vers le même serveur d'arrière-plan) vers des flux HTTP/2 appartenant à la même requête HTTP/2. Chaque requête HTTP/1 entrante sera mandatée vers le serveur d'arrière-plan en utilisant une requête HTTP/2 séparée (tout en réutilisant si possible la même connexion TCP).

Ce module s'appuie sur libnghttp2 pour fournir le moteur central http/2.

Avertissement

Ce module en est au stade expérimental. Ses comportement, directives et valeurs par défauts sont donc susceptibles de modifications d'une version à l'autre plus fréquentes que pour les autres modules. A ce titre, il est fortement conseillé aux utilisateurs de consulter le fichier "CHANGES" pour prendre connaissance de ces modifications.

Avertissement

N'activez pas le mandatement avant d'avoir sécurisé votre serveur. Les serveurs mandataires ouverts sont dangereux non seulement pour votre propre réseau, mais aussi pour l'Internet au sens large.

Sujets

Directives

Ce module ne fournit aucune directive.

Traitement des bugs

Voir aussi

top

Exemples de base

Les exemples ci-dessous montrent comment configurer HTTP/2 pour des connexions d'arrière-plan vers un mandataire inverse.

HTTP/2 (TLS)

ProxyPass "/app" "h2://app.example.com"
ProxyPassReverse "/app" "https://app.example.com"

HTTP/2 (non sécurisé)

ProxyPass "/app" "h2c://app.example.com"
ProxyPassReverse "/app" "http://app.example.com"

Pour mandater en inverse les protocoles h2 ou h2c, on utilise la directive ProxyPassReverse avec les schèmes habituels https et respectivement http qui sont connus et utilisés par l'agent utilisateur.

top

Informations sur les requêtes

mod_proxy_http fournit les informations sur les requêtes suivantes pour enregistrement dans les journaux en utilisant le format %{VARNAME}n avec les directives LogFormat ou ErrorLogFormat :

proxy-source-port
Le numéro de port local utilisé pour la connexion vers le serveur d'arrière-plan.
proxy-status
Le statut HTTP/2 en provenance du serveur d'arrière-plan.
top

HTTP/2 PUSH

Ce module ne supporte pas la fonctionnalité HTTP/2 PUSH. Les serveurs d'arrière-plan qui veulent indiquer des ressources à précharger doivent envoyer les en-têtes Link appropriés.

En cas de besoin, il peuvent le faire en utilisant les réponses intermédiaires "103 Early Hints" comme indiqué dans la RFC 8297, ce qui fournira les meilleures performances. Si le client comprend aussi le langage HTTP/2, il en résultera un PUSH de la part de httpd vers le celui-ci ou un simple transfert de la réponse 103.

Langues Disponibles:  en  |  fr 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.