blob: 33b079505e2a0b8fe4096e331c44612cf5a7b32b [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision: 1850544 -->
<!-- French translation : Lucien GENTIS -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="mod_proxy_http2.xml.meta">
<name>mod_proxy_http2</name>
<description>Support de HTTP/2 pour <module>mod_proxy</module></description>
<status>Experimental</status>
<sourcefile>mod_proxy_http2.c</sourcefile>
<identifier>proxy_http2_module</identifier>
<compatibility>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</compatibility>
<summary>
<p><module>mod_proxy_http2</module> ne
supporte que HTTP/2 et ne permet pas de r&eacute;trogradation vers HTTP/1.1. Cela
signifie que le serveur d'arri&egrave;re-plan doit supporter HTTP/2 car HTTP/1.1 ne
pourra alors pas &ecirc;tre utilis&eacute;.</p>
<p>Ce module <em>n&eacute;cessite</em> la pr&eacute;sence de <module>mod_proxy</module> ;
pour pouvoir traiter les requ&ecirc;tes mandat&eacute;es HTTP/2,
<module>mod_proxy</module> et <module>mod_proxy_http2</module> doivent donc
&ecirc;tre charg&eacute;s par le serveur.</p>
<p><module>mod_proxy_http2</module> travaille avec des requ&ecirc;tes entrantes en
HTTP/1.1 ou HTTP/2. Dans les deux cas, les requ&ecirc;tes vers le m&ecirc;me serveur
d'arri&egrave;re-plan sont envoy&eacute;es
via une seule connexion TCP, dans la mesure du possible (autrement dit
lorsque la connexion peut &ecirc;tre r&eacute;utilis&eacute;e).</p>
<p>Avertissement : il ne sera effectu&eacute; aucune tentative de fusion de
plusieurs requ&ecirc;tes entrantes HTTP/1 (devant &ecirc;tre mandat&eacute;es vers le m&ecirc;me
serveur d'arri&egrave;re-plan) vers des flux HTTP/2 appartenant &agrave; la m&ecirc;me requ&ecirc;te
HTTP/2. Chaque requ&ecirc;te HTTP/1 entrante sera mandat&eacute;e vers le serveur
d'arri&egrave;re-plan en utilisant une requ&ecirc;te HTTP/2 s&eacute;par&eacute;e (tout en r&eacute;utilisant
si possible la m&ecirc;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>
<note type="warning"><title>Avertissement</title> <p>Ce module en est au
stade exp&eacute;rimental. Ses comportement, directives et valeurs par d&eacute;fauts sont
donc susceptibles de modifications d'une version &agrave; l'autre plus fr&eacute;quentes
que pour les autres modules. A ce titre, il est fortement conseill&eacute; aux
utilisateurs de consulter le fichier "CHANGES" pour prendre connaissance de
ces modifications.</p> </note>
<note type="warning"><title>Avertissement</title>
<p>N'activez pas le mandatement avant d'avoir <a
href="mod_proxy.html#access">s&eacute;curis&eacute; votre serveur</a>. Les serveurs
mandataires ouverts sont dangereux non seulement pour votre propre r&eacute;seau,
mais aussi pour l'Internet au sens large.</p>
</note>
</summary>
<seealso><module>mod_http2</module></seealso>
<seealso><module>mod_proxy</module></seealso>
<seealso><module>mod_proxy_connect</module></seealso>
<section id="examples"><title>Exemples de base</title>
<p>Les exemples ci-dessous montrent comment configurer HTTP/2 pour des
connexions d'arri&egrave;re-plan vers un mandataire inverse.</p>
<example><title>HTTP/2 (TLS)</title>
<highlight language="config">
ProxyPass "/app" "h2://app.example.com"
ProxyPassReverse "/app" "https://app.example.com"
</highlight>
</example>
<example><title>HTTP/2 (non s&eacute;curis&eacute;)</title>
<highlight language="config">
ProxyPass "/app" "h2c://app.example.com"
ProxyPassReverse "/app" "http://app.example.com"
</highlight>
</example>
<note>
<p>Pour mandater en inverse les protocoles <code>h2</code> ou
<code>h2c</code>, on utilise la directive
<directive>ProxyPassReverse</directive> avec les sch&egrave;mes habituels
<code>https</code> et respectivement
<code>http</code> qui sont connus et utilis&eacute;s par l'agent utilisateur.</p>
</note>
</section> <!-- /examples -->
<section id="notes"><title>Informations sur les requ&ecirc;tes</title>
<p><module>mod_proxy_http</module> fournit les informations sur les requ&ecirc;tes
suivantes pour enregistrement dans les journaux en utilisant le format
<code>%{VARNAME}n</code> avec les directives <directive
module="mod_log_config">LogFormat</directive> ou <directive
module="core">ErrorLogFormat</directive> :
</p>
<dl>
<dt>proxy-source-port</dt>
<dd>Le num&eacute;ro de port local utilis&eacute; pour la connexion vers le serveur
d'arri&egrave;re-plan.</dd>
<dt>proxy-status</dt>
<dd>Le statut HTTP/2 en provenance du serveur d'arri&egrave;re-plan.</dd>
</dl>
</section>
<section id="h2push"><title>HTTP/2 PUSH</title>
<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>
</section>
</modulesynopsis>