From 18b8e6c4abaded5e9bd59f951d9ce8f52050c171 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Mon, 4 Sep 2023 13:10:39 +0000 Subject: [PATCH 01/97] Update DavBasePath availability. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1912085 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/mod_dav.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/mod/mod_dav.xml b/docs/manual/mod/mod_dav.xml index a4fe178bc2f..d2668d18fcf 100644 --- a/docs/manual/mod/mod_dav.xml +++ b/docs/manual/mod/mod_dav.xml @@ -202,7 +202,7 @@ Alias "/php-source" "/home/gstein/php_files" DavBasePath root-path None directory -Available in version 2.5.1 and later +Available in version 2.4.58 and later

If a DAV repository is configured using a regular expression From a2dabc212232b9ff8e2d1defa3c31667142f3704 Mon Sep 17 00:00:00 2001 From: Stefan Eissing Date: Fri, 8 Sep 2023 07:39:50 +0000 Subject: [PATCH 02/97] *) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value. Fixed PR66752. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1912180 13f79535-47bb-0310-9956-ffa450edef68 --- changes-entries/h2_proxy_forwarded_host.txt | 4 +++ modules/http2/h2_proxy_session.c | 20 ++++++------- test/modules/http2/htdocs/cgi/hello.py | 31 ++++++++++++--------- test/modules/http2/test_600_h2proxy.py | 22 +++++++++++++++ 4 files changed, 54 insertions(+), 23 deletions(-) create mode 100644 changes-entries/h2_proxy_forwarded_host.txt diff --git a/changes-entries/h2_proxy_forwarded_host.txt b/changes-entries/h2_proxy_forwarded_host.txt new file mode 100644 index 00000000000..1073f51d0e2 --- /dev/null +++ b/changes-entries/h2_proxy_forwarded_host.txt @@ -0,0 +1,4 @@ + *) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value. + Fixed PR66752. + [Stefan Eissing] + diff --git a/modules/http2/h2_proxy_session.c b/modules/http2/h2_proxy_session.c index 8a5c591ab82..db223012766 100644 --- a/modules/http2/h2_proxy_session.c +++ b/modules/http2/h2_proxy_session.c @@ -818,7 +818,7 @@ static apr_status_t open_stream(h2_proxy_session *session, const char *url, { h2_proxy_stream *stream; apr_uri_t puri; - const char *authority, *scheme, *path; + const char *authority, *scheme, *path, *orig_host; apr_status_t status; proxy_dir_conf *dconf; @@ -842,13 +842,14 @@ static apr_status_t open_stream(h2_proxy_session *session, const char *url, return status; scheme = (strcmp(puri.scheme, "h2")? "http" : "https"); - + orig_host = apr_table_get(r->headers_in, "Host"); + if (orig_host == NULL) { + orig_host = r->hostname; + } + dconf = ap_get_module_config(r->per_dir_config, &proxy_module); if (dconf->preserve_host) { - authority = apr_table_get(r->headers_in, "Host"); - if (authority == NULL) { - authority = r->hostname; - } + authority = orig_host; } else { authority = puri.hostname; @@ -878,8 +879,6 @@ static apr_status_t open_stream(h2_proxy_session *session, const char *url, if (dconf->add_forwarded_headers) { if (PROXYREQ_REVERSE == r->proxyreq) { - const char *buf; - /* Add X-Forwarded-For: so that the upstream has a chance to * determine, where the original request came from. */ @@ -889,8 +888,9 @@ static apr_status_t open_stream(h2_proxy_session *session, const char *url, /* Add X-Forwarded-Host: so that upstream knows what the * original request hostname was. */ - if ((buf = apr_table_get(r->headers_in, "Host"))) { - apr_table_mergen(stream->req->headers, "X-Forwarded-Host", buf); + if (orig_host) { + apr_table_mergen(stream->req->headers, "X-Forwarded-Host", + orig_host); } /* Add X-Forwarded-Server: so that upstream knows what the diff --git a/test/modules/http2/htdocs/cgi/hello.py b/test/modules/http2/htdocs/cgi/hello.py index 20974bfdd3f..a96da8aafb1 100644 --- a/test/modules/http2/htdocs/cgi/hello.py +++ b/test/modules/http2/htdocs/cgi/hello.py @@ -1,20 +1,25 @@ #!/usr/bin/env python3 import os +import json + +resp = { + 'https': os.getenv('HTTPS', ''), + 'host': os.getenv('X_HOST', '') if 'X_HOST' in os.environ else os.getenv('SERVER_NAME', ''), + 'server': os.getenv('SERVER_NAME', ''), + 'h2_original_host': os.getenv('H2_ORIGINAL_HOST', ''), + 'port': os.getenv('SERVER_PORT', ''), + 'protocol': os.getenv('SERVER_PROTOCOL', ''), + 'ssl_protocol': os.getenv('SSL_PROTOCOL', ''), + 'h2': os.getenv('HTTP2', ''), + 'h2push': os.getenv('H2PUSH', ''), + 'h2_stream_id': os.getenv('H2_STREAM_ID', ''), + 'x-forwarded-for': os.getenv('HTTP_X_FORWARDED_FOR', ''), + 'x-forwarded-host': os.getenv('HTTP_X_FORWARDED_HOST', ''), + 'x-forwarded-server': os.getenv('HTTP_X_FORWARDED_SERVER', ''), +} print("Content-Type: application/json") print() -print("{") -print(" \"https\" : \"%s\"," % (os.getenv('HTTPS', ''))) -print(" \"host\" : \"%s\"," % (os.getenv('X_HOST', '') \ - if 'X_HOST' in os.environ else os.getenv('SERVER_NAME', ''))) -print(" \"server\" : \"%s\"," % (os.getenv('SERVER_NAME', ''))) -print(" \"h2_original_host\" : \"%s\"," % (os.getenv('H2_ORIGINAL_HOST', ''))) -print(" \"port\" : \"%s\"," % (os.getenv('SERVER_PORT', ''))) -print(" \"protocol\" : \"%s\"," % (os.getenv('SERVER_PROTOCOL', ''))) -print(" \"ssl_protocol\" : \"%s\"," % (os.getenv('SSL_PROTOCOL', ''))) -print(" \"h2\" : \"%s\"," % (os.getenv('HTTP2', ''))) -print(" \"h2push\" : \"%s\"," % (os.getenv('H2PUSH', ''))) -print(" \"h2_stream_id\" : \"%s\"" % (os.getenv('H2_STREAM_ID', ''))) -print("}") +print(json.JSONEncoder(indent=2).encode(resp)) diff --git a/test/modules/http2/test_600_h2proxy.py b/test/modules/http2/test_600_h2proxy.py index 48c6f7493a2..d175bbdf3b3 100644 --- a/test/modules/http2/test_600_h2proxy.py +++ b/test/modules/http2/test_600_h2proxy.py @@ -136,6 +136,28 @@ def test_h2_600_05(self, env, enable_reuse): else env.http_port2 assert int(r.json[1]["port"]) == exp_port + # test X-Forwarded-* headers + def test_h2_600_06(self, env): + conf = H2Conf(env, extras={ + f'cgi.{env.http_tld}': [ + "SetEnvIf Host (.+) X_HOST=$1", + f"ProxyPreserveHost on", + f"ProxyPass /h2c/ h2c://127.0.0.1:{env.http_port}/", + f"ProxyPass /h1c/ http://127.0.0.1:{env.http_port}/", + ] + }) + conf.add_vhost_cgi(proxy_self=True) + conf.install() + assert env.apache_restart() == 0 + url = env.mkurl("https", "cgi", "/h1c/hello.py") + r1 = env.curl_get(url, 5) + assert r1.response["status"] == 200 + url = env.mkurl("https", "cgi", "/h2c/hello.py") + r2 = env.curl_get(url, 5) + assert r2.response["status"] == 200 + for key in ['x-forwarded-for', 'x-forwarded-host','x-forwarded-server']: + assert r1.json[key] == r2.json[key], f'{key} differs proxy_http != proxy_http2' + # lets do some error tests def test_h2_600_30(self, env): conf = H2Conf(env) From de79e4102f3fbdfb9f3e981e892e08572f1bd1e5 Mon Sep 17 00:00:00 2001 From: Lucien Gentis Date: Sat, 9 Sep 2023 15:07:19 +0000 Subject: [PATCH 03/97] fr doc XML files updates. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1912213 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/env.xml.fr | 4 ++-- docs/manual/mod/mod_alias.xml.fr | 17 +++++++++-------- docs/manual/mod/mod_dav.xml.fr | 6 +++--- docs/manual/mod/mod_deflate.xml.fr | 3 ++- docs/manual/mod/mod_rewrite.xml.fr | 2 +- 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/docs/manual/env.xml.fr b/docs/manual/env.xml.fr index 2dabba59dfd..99228b334e8 100644 --- a/docs/manual/env.xml.fr +++ b/docs/manual/env.xml.fr @@ -1,7 +1,7 @@ - + @@ -568,7 +568,7 @@ SetEnvIf Referer "^$" local_referal

Pour plus d'informations sur cette technique, voir le tutoriel sur ServerWatch - "Keeping Your Images from Adorning Other Sites".

diff --git a/docs/manual/mod/mod_alias.xml.fr b/docs/manual/mod/mod_alias.xml.fr index 94463ce93c8..4b379448edf 100644 --- a/docs/manual/mod/mod_alias.xml.fr +++ b/docs/manual/mod/mod_alias.xml.fr @@ -1,7 +1,7 @@ - + @@ -686,19 +686,20 @@ comme un script CGI RedirectRelative Redirection relative de cibles. -RedirectRelative OFF|ON -RedirectRelative OFF +RedirectRelative On|Off +RedirectRelative Off server configvirtual host directory Disponible à partir de la version 2.5.1 du serveur HTTP Apache -

Par défaut, si l'URL cible d'une directive - Redirect est une URL relative commençant par un - caractère '/', le serveur convertit cette dernière en URL absolue avant de - répondre au client. En définissant RedirectRelative à - "ON", l'URL relative est présentée au client sans modification.

+

Par défaut, si l'URL cible d'une directive Redirect est une URL relative commençant par + un caractère '/', le serveur convertit cette dernière en URL absolue avant + de répondre au client. En définissant + RedirectRelative à "On", l'URL relative est présentée + au client sans modification.

diff --git a/docs/manual/mod/mod_dav.xml.fr b/docs/manual/mod/mod_dav.xml.fr index f9a8f257a2f..2897e6eff9e 100644 --- a/docs/manual/mod/mod_dav.xml.fr +++ b/docs/manual/mod/mod_dav.xml.fr @@ -1,7 +1,7 @@ - + @@ -214,9 +214,9 @@ ForceType text/plain DavBasePath Définir le chemin de la racine du répertoire DavBasePath root-path -DavBasePath /repos/ +None directory -Disponible à partir de la version 2.5.1 du serveur HTTP Apache +Disponible à partir de la version 2.4.58 du serveur HTTP Apache

Si le répertoire DAV est défini en utilisant une correspondance diff --git a/docs/manual/mod/mod_deflate.xml.fr b/docs/manual/mod/mod_deflate.xml.fr index 2070f06e6de..8ad79062ed0 100644 --- a/docs/manual/mod/mod_deflate.xml.fr +++ b/docs/manual/mod/mod_deflate.xml.fr @@ -1,7 +1,7 @@ - + @@ -448,6 +448,7 @@ de la compression DeflateAlterETag AddSuffix server configvirtual host +Disponible à partir de la version 2.4.58 du serveur HTTP Apache

La directive DeflateAlterETag permet de diff --git a/docs/manual/mod/mod_rewrite.xml.fr b/docs/manual/mod/mod_rewrite.xml.fr index 0004c372145..ba5bee91bbc 100644 --- a/docs/manual/mod/mod_rewrite.xml.fr +++ b/docs/manual/mod/mod_rewrite.xml.fr @@ -1,7 +1,7 @@ - + From a077812a1b02addc95a7edcdd33385179f7bc382 Mon Sep 17 00:00:00 2001 From: Lucien Gentis Date: Sat, 9 Sep 2023 15:08:21 +0000 Subject: [PATCH 04/97] fr doc rebuild. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1912214 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/env.html.fr.utf8 | 2 +- docs/manual/env.xml.ja | 2 +- docs/manual/env.xml.ko | 2 +- docs/manual/env.xml.tr | 2 +- docs/manual/mod/mod_alias.html.fr.utf8 | 14 +++++++------- docs/manual/mod/mod_alias.xml.es | 2 +- docs/manual/mod/mod_alias.xml.ja | 2 +- docs/manual/mod/mod_alias.xml.ko | 2 +- docs/manual/mod/mod_alias.xml.tr | 2 +- docs/manual/mod/mod_dav.html.fr.utf8 | 4 ++-- docs/manual/mod/mod_dav.xml.ja | 2 +- docs/manual/mod/mod_dav.xml.ko | 2 +- docs/manual/mod/mod_deflate.html.fr.utf8 | 1 + docs/manual/mod/mod_deflate.xml.ja | 2 +- docs/manual/mod/mod_deflate.xml.ko | 2 +- docs/manual/mod/quickreference.html.fr.utf8 | 4 ++-- 16 files changed, 24 insertions(+), 23 deletions(-) diff --git a/docs/manual/env.html.fr.utf8 b/docs/manual/env.html.fr.utf8 index db53691eebb..a44ce7e3d6c 100644 --- a/docs/manual/env.html.fr.utf8 +++ b/docs/manual/env.html.fr.utf8 @@ -524,7 +524,7 @@ SetEnvIf Referer "^$" local_referal

Pour plus d'informations sur cette technique, voir le tutoriel sur ServerWatch - "Keeping Your Images from Adorning Other Sites".

+ "Keeping Your Images from Adorning Other Sites".

diff --git a/docs/manual/env.xml.ja b/docs/manual/env.xml.ja index dfab8b3cd5b..6478bb84758 100644 --- a/docs/manual/env.xml.ja +++ b/docs/manual/env.xml.ja @@ -1,7 +1,7 @@ - + + + + + + + + + + + + @@ -25,19 +25,19 @@ mod_dav_fs -Implémente le fournisseur filesystem pour +Implémente le fournisseur filesystem pour mod_dav Extension mod_dav_fs.c dav_fs_module -

L'activation de ce module nécessite l'utilisation de +

L'activation de ce module nécessite l'utilisation de mod_dav. C'est un module de support pour mod_dav et à ce titre, il permet l'accès à des ressources - situées dans le système de fichiers du serveur. Le nom formel de ce + >mod_dav et à ce titre, il permet l'accès à des ressources + situées dans le système de fichiers du serveur. Le nom formel de ce fournisseur est filesystem. Les fournisseurs supports - de mod_dav sont invoqués via la directive + de mod_dav sont invoqués via la directive Dav :

Exemple @@ -46,7 +46,7 @@ -

Comme filesystem est le fournisseur par défaut de +

Comme filesystem est le fournisseur par défaut de mod_dav, vous pouvez vous contenter d'utiliser la valeur On comme argument de Dav.

@@ -54,7 +54,7 @@ DavLockDB -Chemin de la base de données des verrous DAV +Chemin de la base de données des verrous DAV DavLockDB chemin fichier DavLockDB DEFAULT_REL_STATEDIR/davlockdb server configvirtual @@ -64,13 +64,15 @@ host du serveur HTTP Apache. -

La directive DavLockDB spécifie - le chemin complet de la base de données des verrous, sans extension. - Si le chemin n'est pas absolu, il sera considéré comme relatif au - répertoire défini par la directive ServerRoot. L'implémentation de - mod_dav_fs utilise une base de données SDBM pour - surveiller les verrous utilisateurs.

+

La directive DavLockDB spécifie + le chemin complet de la base de données des verrous, sans extension. + Si le chemin n'est pas absolu, il sera considéré comme relatif au + répertoire défini par la directive ServerRoot. L'implémentation de + mod_dav_fs utilise une base de données pour + surveiller les verrous utilisateurs. Le type de cette base de données peut + être modifié à l'aide de la directive DavLockDBType.

+ + + @@ -77,7 +77,6 @@

Quelques solutions populaires pour déployer Apache httpd, et éventuellement PHP et MySQL sous Microsoft Windows :

    -
  • ApacheHaus
  • Apache Lounge
  • Bitnami WAMP Stack
  • WampServer
  • @@ -95,6 +94,14 @@ href="../mod/directives.html">index des directives pour la liste des directives disponibles.

    +

    La configuration par défaut de la distribution source installe + le serveur dans \Apache2x. Cet emplacement peut être modifié à + la compilation, mais il est important qu'en fin de compte, la directive + ServerRoot dans httpd.conf corresponde effectivement + à la racine de l'installation. Les distributions binaires peuvent parfois + modifier la racine de l'installation par défaut, ou même la structure + complète de la configuration initiale.

    +

    Les principales spécificités d'Apache pour Windows sont :

    • Comme Apache pour Windows est un programme multithread, il From 7161194bb11ff2c1db5fbc15d466ebf043f49153 Mon Sep 17 00:00:00 2001 From: Lucien Gentis Date: Sat, 25 Nov 2023 15:53:23 +0000 Subject: [PATCH 70/97] fr doc XML file update. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1914112 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/mod_proxy.xml.fr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/mod/mod_proxy.xml.fr b/docs/manual/mod/mod_proxy.xml.fr index 998bbaefd1b..2abc1682a34 100644 --- a/docs/manual/mod/mod_proxy.xml.fr +++ b/docs/manual/mod/mod_proxy.xml.fr @@ -1,7 +1,7 @@ - + From 779f04ba286109c08c27c5e41690a218670a920d Mon Sep 17 00:00:00 2001 From: Lucien Gentis Date: Sat, 25 Nov 2023 16:02:32 +0000 Subject: [PATCH 71/97] fr doc XML file update. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1914113 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/mod_proxy.xml.fr | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/manual/mod/mod_proxy.xml.fr b/docs/manual/mod/mod_proxy.xml.fr index 2abc1682a34..1dc63d084eb 100644 --- a/docs/manual/mod/mod_proxy.xml.fr +++ b/docs/manual/mod/mod_proxy.xml.fr @@ -1,7 +1,7 @@ - + @@ -1509,6 +1509,12 @@ ProxyPass "/mirror/foo/i" "!" autorisations qui doivent être définies par Apache httpd.

      + addressttl + -1 +

      Durée de vie (TTL) en secondes des résolutions DNS de l'adresse + du serveur d'arrière-plan dans le cache. + -1 signifie jusqu'au redémarrage de Apache httpd.

      + From d19875a13e5cd936a52639f5f75a93da63448762 Mon Sep 17 00:00:00 2001 From: Lucien Gentis Date: Sat, 25 Nov 2023 16:04:41 +0000 Subject: [PATCH 72/97] fr doc rebuild. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1914114 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/bind.html.fr.utf8 | 10 +- docs/manual/configuring.html.fr.utf8 | 70 +++--- docs/manual/mod/mod_proxy.html.fr.utf8 | 6 + docs/manual/mod/mod_proxy.xml.ja | 2 +- docs/manual/platform/windows.html.fr.utf8 | 9 +- docs/manual/platform/windows.xml.ko | 2 +- docs/manual/sections.html.fr.utf8 | 265 ++++++++++------------ 7 files changed, 174 insertions(+), 190 deletions(-) diff --git a/docs/manual/bind.html.fr.utf8 b/docs/manual/bind.html.fr.utf8 index 1c0739c4cab..f44f377112a 100644 --- a/docs/manual/bind.html.fr.utf8 +++ b/docs/manual/bind.html.fr.utf8 @@ -53,7 +53,7 @@ l'hôte local et le serveur se met en attente de l'arrivée d'une requête. Par défaut, le serveur écoute toutes les adresses de l'hôte local. Cependant, on peut lui préciser des ports et des adresses spécifiques à - écouter, ou une combinaison des deux. Tout ceci est souvent associé avec la + écouter, ou une combinaison des deux. Tout ceci est souvent associé avec la fonctionnalité des serveurs virtuels qui détermine la manière dont httpd répond aux différents ports, noms d'hôtes et adresses IP.

      @@ -62,7 +62,7 @@ d'indiquer au serveur qu'il ne doit accepter des requêtes que sur le(s) port(s) spécifiés ou une combinaison adresse/port. Si seul un numéro de port est spécifié dans la directive Listen, le serveur se met à l'écoute sur ce - port et sur toutes les interfaces réseau. Si une adresse IP est spécifiée + port et sur toutes les interfaces réseau. Si une adresse IP est spécifiée en plus du port, le serveur va écouter sur ce port et uniquement sur l'interface réseau correspondante. On peut utiliser plusieurs directives Listen pour spécifier plusieurs @@ -161,7 +161,7 @@ Listen 192.0.2.5:8000 utilisez l'option --enable-v4-mapped du script configure.

      L'option --enable-v4-mapped est utilisée par défaut sur - toutes les plateformes sauf FreeBSD, NetBSD, et OpenBSD; + toutes les plateformes sauf FreeBSD, NetBSD, et OpenBSD ; votre httpd a donc probablement été construit avec cette option.

      Si vous souhaitez que httpd ne gère que des connexions IPv4, sans se @@ -179,7 +179,7 @@ Listen 192.0.2.1:80 (c'est à dire désactiver la traduction des adresses IPv6 au format IPv4), utilisez l'option --disable-v4-mapped du script configure. --disable-v4-mapped est - utilisé par défaut sur FreeBSD, NetBSD, et OpenBSD.

      + utilisée par défaut sur FreeBSD, NetBSD, et OpenBSD.

top

Spécification du protocole avec Listen

@@ -190,7 +190,7 @@ Listen 192.0.2.1:80 sont https pour le port 443, et http pour tous les autres ports. Le protocole sert à déterminer quel module doit traiter une requête, et à appliquer les optimisations - spécifiques au protocole via la directive AcceptFilter.

+ spécifiques au protocole à l'aide de la directive AcceptFilter.

Vous ne devez définir le protocole que si vous travaillez avec des ports non standards. Par exemple, pour travailler en diff --git a/docs/manual/configuring.html.fr.utf8 b/docs/manual/configuring.html.fr.utf8 index 757ba998038..e0bda45052a 100644 --- a/docs/manual/configuring.html.fr.utf8 +++ b/docs/manual/configuring.html.fr.utf8 @@ -57,11 +57,11 @@ le Serveur HTTP Apache.

remplacement peuvent être utilisés pour inclure de nombreux fichiers de configuration. Des directives de tous types peuvent être placées dans chacun de ces fichiers - de configuration. Les modifications dans les fichiers de configuration + de configuration. Les modifications dans les fichiers de configuration principaux ne sont prises en compte par httpd que lorsque le serveur est démarré ou redémarré.

-

Le serveur lit aussi un fichier contenant les types de document mime; +

Le serveur lit aussi un fichier contenant les types de document mime ; ce fichier est défini par la directive TypesConfig, et se nomme mime.types par défaut.

top
@@ -86,40 +86,37 @@ le Serveur HTTP Apache.

commentaires, et sont ignorées. Les commentaires ne doivent pas apparaître sur la même ligne qu'une directive de configuration. Les espaces précédant une directive - sont ignorés; vous pouvez par conséquent indenter les directives + sont ignorés ; vous pouvez par conséquent indenter les directives afin d'améliorer la lisibilité. Les lignes vides sont aussi ignorées.

-

Les valeurs des variables d'environnement ou des variables - définies via la directive Define peuvent être utilisées dans le - fichier de configuration en utilisant la syntaxe - ${VAR}.
- Si "VAR" est le nom d'une variable valide, la - valeur de la variable est alors substituée à la chaîne - ${VAR}, et le processus de lecture du fichier de - configuration continue comme si la chaîne correspondant à la valeur - de la variable s'y était trouvée littéralement.
- Les variables définies - via la directive Define - l'emportent sur les autres variables d'environnement du shell.
- Si la variable "VAR" n'est pas trouvée, la chaîne ${VAR} n'est - pas modifiée, et un avertissement est enregistré dans le journal. Si par - contre une valeur par défaut existe, on peut utiliser la forme - conditionnelle ${VAR?=une valeur par défaut}. Notez qu'une - variable définie vide ne se verra pas attribuer la valeur - par défaut et qu'une valeur par défaut vide comme dans ${VAR?=} - est une substitution valide (qui génère une valeur vide si "VAR" n'est pas - définie, mais aucun avertissement).
+

Les valeurs des variables d'environnement ou des variables définies via + la directive Define peuvent être + utilisées dans le fichier de configuration en utilisant la syntaxe + ${VAR}.
Si "VAR" est le nom d'une variable valable, la + valeur de la variable est alors substituée à la chaîne ${VAR}, + et le processus de lecture du fichier de configuration continue comme si la + chaîne correspondant à la valeur de la variable s'y était trouvée + littéralement.
Les variables définies via la directive Define l'emportent sur les autres variables + d'environnement de l'interpréteur de commande.
Si la variable "VAR" + n'est pas trouvée, la chaîne ${VAR} n'est pas modifiée, et un + avertissement est enregistré dans le journal. Si par contre une valeur par + défaut existe, on peut utiliser la forme conditionnelle ${VAR?=une + valeur par défaut}. Notez qu'une variable définie + vide ne se verra pas attribuer la valeur par défaut et qu'une valeur par + défaut vide comme dans ${VAR?=} est une substitution valable + (qui génère une valeur vide si "VAR" n'est pas définie, mais aucun + avertissement).
Le caractère ":" est interdit dans les noms de variables afin d'éviter tout conflit avec la syntaxe de la directive RewriteMap.

-

Seules les variables d'environnement du shell définies avant le démarrage - du serveur peuvent être utilisées en extension. - Les variables d'environnement - définies dans le fichier de configuration lui-même, par exemple avec SetEnv, prennent effet trop tard pour - pouvoir être utilisées en extension au sein du fichier de - configuration.

+

Seules les variables d'environnement de l'interpréteur de commande + définies avant le démarrage du serveur peuvent être utilisées en extension. + Les variables d'environnement définies dans le fichier de configuration + lui-même, par exemple avec SetEnv, + prennent effet trop tard pour pouvoir être utilisées en extension au sein du + fichier de configuration.

La longueur maximale d'une ligne dans un fichier de configuration normal, après substitution des variables et fusion des lignes @@ -173,24 +170,21 @@ le Serveur HTTP Apache.

s'appliquent au serveur dans son ensemble. Si vous souhaitez modifier la configuration d'une partie du serveur seulement, vous pouvez limiter la portée de vos directives en les plaçant dans une section - <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, ou <LocationMatch>. + <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location> ou <LocationMatch>. Ces sections limitent le champ d'application des directives qu'elles contiennent à des URls ou des portions du système de fichiers particulières. Elles peuvent aussi être imbriquées, ce qui permet une configuration très fine.

-

httpd peut servir simultanément de nombreux sites web au travers des - Hôtes Virtuels. La portée des directives peut ainsi - être limitée en les plaçant dans des sections - <VirtualHost>, - afin qu'elles ne s'appliquent qu'aux requêtes - pour un site web particulier.

+

httpd peut servir simultanément de nombreux sites web au travers des Serveurs Virtuels. La portée des directives peut ainsi + être limitée en les plaçant dans des sections <VirtualHost>, afin qu'elles ne s'appliquent qu'aux + requêtes pour un site web particulier.

Bien que la plupart des directives puissent être placées dans chacune de ces sections, certaines d'entre elles n'ont aucun sens dans certains contextes. Par exemple, les directives qui contrôlent la création des processus - n'ont de sens que dans le contexte du serveur principal. Pour déterminer + n'ont de sens que dans le contexte du serveur global. Pour déterminer quelles directives peuvent être placées dans quelles sections, consultez le Contexte de la directive. Pour plus d'informations, nous fournissons des détails dans @@ -204,7 +198,7 @@ le Serveur HTTP Apache.

httpd permet la gestion décentralisée de la configuration - via des fichiers spéciaux placés dans l'arborescence du site web. + à l'aide de fichiers spéciaux placés dans l'arborescence du site web. Ces fichiers spéciaux se nomment en général .htaccess, mais tout autre nom peut être spécifié à l'aide de la directive AccessFileName. diff --git a/docs/manual/mod/mod_proxy.html.fr.utf8 b/docs/manual/mod/mod_proxy.html.fr.utf8 index 9983705868a..79947594cbc 100644 --- a/docs/manual/mod/mod_proxy.html.fr.utf8 +++ b/docs/manual/mod/mod_proxy.html.fr.utf8 @@ -1653,6 +1653,12 @@ ProxyPass "/mirror/foo" "http://backend.example.com" autorisations qui doivent être définies par Apache httpd.

+ addressttl + -1 +

Durée de vie (TTL) en secondes des résolutions DNS de l'adresse + du serveur d'arrière-plan dans le cache. + -1 signifie jusqu'au redémarrage de Apache httpd.

+ diff --git a/docs/manual/mod/mod_proxy.xml.ja b/docs/manual/mod/mod_proxy.xml.ja index 070a3448f51..c39610d3c98 100644 --- a/docs/manual/mod/mod_proxy.xml.ja +++ b/docs/manual/mod/mod_proxy.xml.ja @@ -1,7 +1,7 @@ - + + + @@ -1126,7 +1126,7 @@ on peut utiliser un identificateur de certificat pour identifier un certificat stocké dans un jeton. Actuellement, seuls les URIs PKCS#11 sont reconnus comme identificateurs de certificats et peuvent être utilisés en conjonction avec le -moteur OpenSSL pkcs11. Si la directive pkcs11. Si la directive SSLCertificateKeyFile est absente, le certificat et la clé privée peuvent être chargés avec l'identificateur spécifié via la directive SSLCertificateFile.

@@ -1226,7 +1226,8 @@ certificats qui utilisent un fichier de clé séparé.

d'identifier une clé privée via un identifiant stocké dans un jeton. Actuellement, seuls les PKCS#11 URIs sont reconnus comme identifiants de clés privées et peuvent être -utilisés en conjonction avec le moteur OpenSSL pkcs11.

+utilisés en conjonction avec le moteur ou le fournisseur OpenSSL +pkcs11.

Exemple @@ -2780,6 +2781,17 @@ qu'avec la version 0.9.6, il faut utiliser les distributions séparées SSLCryptoDevice ubsec + +

+À partir de la version 3.0 d'OpenSSL, si aucun moteur n'est spécifié alors +que la clé ou le certificat sont spécifiés à l'aide d'URIs PKCS#11, le chargement de la +clé et du certificat est tenté à partir d'un fournisseur OpenSSL. Le fournisseur +OpenSSL à utiliser doit être défini et configuré dans le fichier de +configuration d'OpenSSL et il doit prendre en charge la méthode +STORE pour les URIs PKCS#11. +

diff --git a/docs/manual/platform/win_compiling.xml.fr b/docs/manual/platform/win_compiling.xml.fr index 8f30fae8bc0..aad005880f9 100644 --- a/docs/manual/platform/win_compiling.xml.fr +++ b/docs/manual/platform/win_compiling.xml.fr @@ -1,7 +1,7 @@ - + @@ -146,14 +146,12 @@ awk.exe. awk effectue la modification des fichiers au moment de l'installation ; il a été choisi car il nécessite un téléchargement de petite taille (par rapport à Perl ou - WSH/VB). Le site de Brian Kernighan http://www.cs.princeton.edu/~bwk/btl.mirror/ propose un - binaire précompilé pour Win32, http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe, que - vous devez enregistrer sous le nom awk.exe (plutôt - que awk95.exe).

+ WSH/VB). Le binaire awk.exe pour Windows peut être compilé + à partir des sources originelles de Brian Kernighan disponibles ici, + ou le binaire GNU awk peut être téléchargé et extrait de l'archive zip ici puis + placé dans un répertoire du %PATH% sur le système de construction.

Si awk.exe n'est pas trouvé, la cible install du fichier Makefile.win n'effectuera aucune substitution dans les fichiers From d3a970420f04f9304e202bd1bdc04cbace9bbbd1 Mon Sep 17 00:00:00 2001 From: Lucien Gentis Date: Sat, 9 Dec 2023 16:21:24 +0000 Subject: [PATCH 86/97] fr doc rebuild. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1914493 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/mod_ssl.html.fr.utf8 | 14 ++++++++++++-- docs/manual/mod/mod_ssl.xml.es | 2 +- docs/manual/platform/win_compiling.html.fr.utf8 | 8 ++++---- docs/manual/platform/win_compiling.xml.ko | 2 +- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/docs/manual/mod/mod_ssl.html.fr.utf8 b/docs/manual/mod/mod_ssl.html.fr.utf8 index 3867120399c..8e64a02bfaf 100644 --- a/docs/manual/mod/mod_ssl.html.fr.utf8 +++ b/docs/manual/mod/mod_ssl.html.fr.utf8 @@ -775,7 +775,7 @@ passe de la clé s'ouvre au démarrage du serveur. on peut utiliser un identificateur de certificat pour identifier un certificat stocké dans un jeton. Actuellement, seuls les URIs PKCS#11 sont reconnus comme identificateurs de certificats et peuvent être utilisés en conjonction avec le -moteur OpenSSL pkcs11. Si la directive SSLCertificateKeyFile est absente, le certificat et +moteur ou le fournisseur OpenSSL pkcs11. Si la directive SSLCertificateKeyFile est absente, le certificat et la clé privée peuvent être chargés avec l'identificateur spécifié via la directive SSLCertificateFile.

@@ -869,7 +869,8 @@ certificats qui utilisent un fichier de clé séparé.

d'identifier une clé privée via un identifiant stocké dans un jeton. Actuellement, seuls les PKCS#11 URIs sont reconnus comme identifiants de clés privées et peuvent être -utilisés en conjonction avec le moteur OpenSSL pkcs11.

+utilisés en conjonction avec le moteur ou le fournisseur OpenSSL +pkcs11.

Exemple

# Pour utiliser une clé privée stockée dans fichier encodé PEM :
 SSLCertificateKeyFile "/usr/local/apache2/conf/ssl.key/server.key"
@@ -1150,6 +1151,15 @@ qu'avec la version 0.9.6, il faut utiliser les distributions séparées
 SSLCryptoDevice ubsec
+

+À partir de la version 3.0 d'OpenSSL, si aucun moteur n'est spécifié alors +que la clé ou le certificat sont spécifiés à l'aide d'URIs PKCS#11, le chargement de la +clé et du certificat est tenté à partir d'un fournisseur OpenSSL. Le fournisseur +OpenSSL à utiliser doit être défini et configuré dans le fichier de +configuration d'OpenSSL et il doit prendre en charge la méthode +STORE pour les URIs PKCS#11. +

+
top

Directive SSLEngine

diff --git a/docs/manual/mod/mod_ssl.xml.es b/docs/manual/mod/mod_ssl.xml.es index b19b661cb00..8cad1b7a3c5 100644 --- a/docs/manual/mod/mod_ssl.xml.es +++ b/docs/manual/mod/mod_ssl.xml.es @@ -1,7 +1,7 @@ - + diff --git a/docs/manual/platform/win_compiling.html.fr.utf8 b/docs/manual/platform/win_compiling.html.fr.utf8 index 435d7fc7aec..b5e1d8db881 100644 --- a/docs/manual/platform/win_compiling.html.fr.utf8 +++ b/docs/manual/platform/win_compiling.html.fr.utf8 @@ -156,10 +156,10 @@ l'arborescence de développement awk.exe. awk effectue la modification des fichiers au moment de l'installation ; il a été choisi car il nécessite un téléchargement de petite taille (par rapport à Perl ou - WSH/VB). Le site de Brian Kernighan http://www.cs.princeton.edu/~bwk/btl.mirror/ propose un - binaire précompilé pour Win32, http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe, que - vous devez enregistrer sous le nom awk.exe (plutôt - que awk95.exe).

+ WSH/VB). Le binaire awk.exe pour Windows peut être compilé + à partir des sources originelles de Brian Kernighan disponibles ici, + ou le binaire GNU awk peut être téléchargé et extrait de l'archive zip ici puis + placé dans un répertoire du %PATH% sur le système de construction.

Si awk.exe n'est pas trouvé, la cible install du fichier Makefile.win n'effectuera aucune substitution dans les fichiers diff --git a/docs/manual/platform/win_compiling.xml.ko b/docs/manual/platform/win_compiling.xml.ko index 5734abfbbd4..ba61ad39f5d 100644 --- a/docs/manual/platform/win_compiling.xml.ko +++ b/docs/manual/platform/win_compiling.xml.ko @@ -1,7 +1,7 @@ - +