<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_proxy_http2 - Serveur HTTP Apache Version 2.5</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur HTTP Apache Version 2.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_proxy_http2</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http2.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_proxy_http2.html" title="Français">&nbsp;fr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support de HTTP/2 pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_http2_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_http2.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</td></tr></table>
<h3>Sommaire</h3>

    <p><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> 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é.</p>

    <p>Ce module <em>nécessite</em> la présence de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ;
    pour pouvoir traiter les requêtes mandatées HTTP/2,
    <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> doivent donc
    être chargés par le serveur.</p>

    <p><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> 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).</p>

    <p>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).</p>

    <p>Ce module s'appuie sur <a href="http://nghttp2.org/">libnghttp2</a> pour
    fournir le moteur central http/2.</p>

    <div class="warning"><h3>Avertissement</h3> <p>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.</p> </div>

    <div class="warning"><h3>Avertissement</h3>
      <p>N'activez pas le mandatement avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les serveurs
      mandataires ouverts sont dangereux non seulement pour votre propre réseau,
      mais aussi pour l'Internet au sens large.</p>
    </div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples de base</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#notes">Informations sur les requêtes</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#h2push">HTTP/2 PUSH</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_proxy_http2">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_proxy_http2">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">Exemples de base</a> <a title="Lien permanent" href="#examples" class="permalink">&para;</a></h2>

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

    <div class="example"><h3>HTTP/2 (TLS)</h3><pre class="prettyprint lang-config">ProxyPass "/app" "h2://app.example.com"
ProxyPassReverse "/app" "https://app.example.com"</pre>
</div>

    <div class="example"><h3>HTTP/2 (non sécurisé)</h3><pre class="prettyprint lang-config">ProxyPass "/app" "h2c://app.example.com"
ProxyPassReverse "/app" "http://app.example.com"</pre>
</div>

    <div class="note">
      <p>Pour mandater en inverse les protocoles <code>h2</code> ou
      <code>h2c</code>, on utilise la directive
      <code class="directive">ProxyPassReverse</code> avec les schèmes habituels
      <code>https</code> et respectivement
      <code>http</code> qui sont connus et utilisés par l'agent utilisateur.</p>
    </div>
    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="notes" id="notes">Informations sur les requêtes</a> <a title="Lien permanent" href="#notes" class="permalink">&para;</a></h2>
    <p><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> fournit les informations sur les requêtes
    suivantes pour enregistrement dans les journaux en utilisant le format
    <code>%{VARNAME}n</code> avec les directives <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> ou <code class="directive"><a href="../mod/core.html#errorlogformat">ErrorLogFormat</a></code> :
    </p>
    <dl>
        <dt>proxy-source-port</dt>
        <dd>Le numéro de port local utilisé pour la connexion vers le serveur
	d'arrière-plan.</dd>
        <dt>proxy-status</dt>
        <dd>Le statut HTTP/2 en provenance du serveur d'arrière-plan.</dd>
    </dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="h2push" id="h2push">HTTP/2 PUSH</a> <a title="Lien permanent" href="#h2push" class="permalink">&para;</a></h2>
    <p>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 <code>Link</code> appropriés.</p>
    <p>En cas de besoin, il peuvent le faire en utilisant les réponses
    intermédiaires <code>"103 Early Hints"</code> comme indiqué dans la <a href="https://tools.ietf.org/html/rfc8297">RFC 8297</a>, 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.</p>
    
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http2.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_proxy_http2.html" title="Français">&nbsp;fr&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_proxy_http2.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else {
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2025 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>