From: Vincent Deffontaines Date: Thu, 26 Jan 2017 20:02:25 +0000 (+0000) Subject: Adding .fr translation from the french doc translation project. Credits go to lgentis X-Git-Tag: 2.5.0-alpha~741 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ae6b0541d5bf72b6086dff0a5bc075641e300073;p=apache Adding .fr translation from the french doc translation project. Credits go to lgentis git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1780462 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/allmodules.xml.fr b/docs/manual/mod/allmodules.xml.fr index dea83dbcaf..264fe8edd7 100644 --- a/docs/manual/mod/allmodules.xml.fr +++ b/docs/manual/mod/allmodules.xml.fr @@ -53,82 +53,82 @@ mod_expires.xml.fr mod_ext_filter.xml.fr mod_file_cache.xml.fr - mod_filter.xml + mod_filter.xml.fr mod_firehose.xml mod_headers.xml.fr - mod_heartbeat.xml - mod_heartmonitor.xml + mod_heartbeat.xml.fr + mod_heartmonitor.xml.fr mod_http2.xml mod_ident.xml.fr - mod_imagemap.xml - mod_include.xml + mod_imagemap.xml.fr + mod_include.xml.fr mod_info.xml.fr - mod_isapi.xml + mod_isapi.xml.fr mod_journald.xml - mod_lbmethod_bybusyness.xml - mod_lbmethod_byrequests.xml - mod_lbmethod_bytraffic.xml - mod_lbmethod_heartbeat.xml + mod_lbmethod_bybusyness.xml.fr + mod_lbmethod_byrequests.xml.fr + mod_lbmethod_bytraffic.xml.fr + mod_lbmethod_heartbeat.xml.fr mod_ldap.xml.fr - mod_log_config.xml - mod_log_debug.xml + mod_log_config.xml.fr + mod_log_debug.xml.fr mod_log_forensic.xml.fr - mod_logio.xml + mod_logio.xml.fr mod_lua.xml.fr mod_macro.xml.fr - mod_mime.xml - mod_mime_magic.xml + mod_mime.xml.fr + mod_mime_magic.xml.fr mod_negotiation.xml.fr - mod_nw_ssl.xml + mod_nw_ssl.xml.fr mod_policy.xml - mod_privileges.xml + mod_privileges.xml.fr mod_proxy.xml.fr - mod_proxy_ajp.xml - mod_proxy_balancer.xml - mod_proxy_connect.xml - mod_proxy_express.xml - mod_proxy_fcgi.xml - mod_proxy_fdpass.xml - mod_proxy_ftp.xml + mod_proxy_ajp.xml.fr + mod_proxy_balancer.xml.fr + mod_proxy_connect.xml.fr + mod_proxy_express.xml.fr + mod_proxy_fcgi.xml.fr + mod_proxy_fdpass.xml.fr + mod_proxy_ftp.xml.fr mod_proxy_hcheck.xml - mod_proxy_html.xml + mod_proxy_html.xml.fr mod_proxy_http.xml.fr mod_proxy_http2.xml - mod_proxy_scgi.xml + mod_proxy_scgi.xml.fr mod_proxy_wstunnel.xml - mod_ratelimit.xml - mod_reflector.xml + mod_ratelimit.xml.fr + mod_reflector.xml.fr mod_remoteip.xml.fr - mod_reqtimeout.xml - mod_request.xml + mod_reqtimeout.xml.fr + mod_request.xml.fr mod_rewrite.xml.fr mod_sed.xml.fr - mod_session.xml - mod_session_cookie.xml - mod_session_crypto.xml - mod_session_dbd.xml + mod_session.xml.fr + mod_session_cookie.xml.fr + mod_session_crypto.xml.fr + mod_session_dbd.xml.fr mod_setenvif.xml.fr - mod_slotmem_plain.xml - mod_slotmem_shm.xml + mod_slotmem_plain.xml.fr + mod_slotmem_shm.xml.fr mod_so.xml.fr - mod_socache_dbm.xml - mod_socache_dc.xml - mod_socache_memcache.xml - mod_socache_shmcb.xml - mod_speling.xml - mod_ssl.xml + mod_socache_dbm.xml.fr + mod_socache_dc.xml.fr + mod_socache_memcache.xml.fr + mod_socache_shmcb.xml.fr + mod_speling.xml.fr + mod_ssl.xml.fr mod_ssl_ct.xml mod_status.xml.fr - mod_substitute.xml - mod_suexec.xml + mod_substitute.xml.fr + mod_suexec.xml.fr mod_syslog.xml mod_systemd.xml mod_unique_id.xml.fr - mod_unixd.xml - mod_userdir.xml - mod_usertrack.xml + mod_unixd.xml.fr + mod_userdir.xml.fr + mod_usertrack.xml.fr mod_version.xml - mod_vhost_alias.xml + mod_vhost_alias.xml.fr mod_watchdog.xml mod_xml2enc.xml mpm_common.xml diff --git a/docs/manual/mod/core.html.fr b/docs/manual/mod/core.html.fr index bdc68d71a7..5dc6569719 100644 --- a/docs/manual/mod/core.html.fr +++ b/docs/manual/mod/core.html.fr @@ -33,6 +33,8 @@  ja  |  tr 

+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
Description:Fonctionnalités de base du serveur HTTP Apache toujours disponibles
Statut:Core
diff --git a/docs/manual/mod/index.html.fr b/docs/manual/mod/index.html.fr index 5bb44edc03..310e99776d 100644 --- a/docs/manual/mod/index.html.fr +++ b/docs/manual/mod/index.html.fr @@ -155,125 +155,148 @@ l'utilisateur externe avant de l'envoyer au client
mod_file_cache
Mise en cache mémoire d'une liste statique de fichiers
-
mod_filter
Context-sensitive smart filter configuration module
+
mod_filter
Module de configuration de filtre intelligent sensible au +contexte
mod_firehose
Multiplexes all I/O to a given file or pipe.
mod_headers
Personnalisation des en-têtes de requêtes et de réponses HTTP
-
mod_heartbeat
Sends messages with server status to frontend proxy
-
mod_heartmonitor
Centralized monitor for mod_heartbeat origin servers
+
mod_heartbeat
Envoie des messages d'état au mandataire frontal
+
mod_heartmonitor
Moniteur centralisé pour les serveurs d'origine mod_heartbeat
mod_http2
Support for the HTTP/2 transport layer
mod_ident
Recherche d'identité conformément à la RFC 1413
-
mod_imagemap
Server-side imagemap processing
-
mod_include
Server-parsed html documents (Server Side Includes)
+
mod_imagemap
Traitement des cartes des zones interactives d'une image +(imagemaps) au niveau du serveur
+
mod_include
Documents html interprétés par le serveur (Server Side +Includes ou SSI)
mod_info
Affiche une présentation complète de la configuration du serveur
-
mod_isapi
ISAPI Extensions within Apache for Windows
+
mod_isapi
Extensions ISAPI dans Apache pour Windows
mod_journald
Provides "journald" ErrorLog provider
-
mod_lbmethod_bybusyness
Pending Request Counting load balancer scheduler algorithm for mod_proxy_balancer
-
mod_lbmethod_byrequests
Request Counting load balancer scheduler algorithm for mod_proxy_balancer
-
mod_lbmethod_bytraffic
Weighted Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
-
mod_lbmethod_heartbeat
Heartbeat Traffic Counting load balancer scheduler algorithm for mod_proxy_balancer
+
mod_lbmethod_bybusyness
Algorithme de planification avec répartition de charge de +l'attribution des requêtes en attente pour le module +mod_proxy_balancer
+
mod_lbmethod_byrequests
Algorithme de planification avec répartition de charge du +traitement des requêtes pour le module +mod_proxy_balancer
+
mod_lbmethod_bytraffic
Algorithme de planification avec répartition de charge en +fonction d'un niveau de trafic pour le module +mod_proxy_balancer
+
mod_lbmethod_heartbeat
Algorithme d'ordonnancement de répartition de charge pour +mod_proxy_balancer basé sur le comptage de trafic Heartbeat
mod_ldap
Conservation des connexions LDAP et services de mise en cache du résultat à destination des autres modules LDAP
-
mod_log_config
Logging of the requests made to the server
-
mod_log_debug
Additional configurable debug logging
+
mod_log_config
Journalisation des requêtes envoyées au +serveur
+
mod_log_debug
Possibilité de journalisation supplémentaire à des fins de +débogage
mod_log_forensic
Journalisation légale des requêtes envoyées au serveur
-
mod_logio
Logging of input and output bytes per request
+
mod_logio
Journalisation des octets en entrée et en sortie pour +chaque requête
mod_lua
Fournit des points d'entrée Lua dans différentes parties du traitement des requêtes httpd
mod_macro
Ce module permet d'utiliser des macros dans les fichiers de configuration Apache.
-
mod_mime
Associates the requested filename's extensions - with the file's behavior (handlers and filters) - and content (mime-type, language, character set and - encoding)
-
mod_mime_magic
Determines the MIME type of a file - by looking at a few bytes of its contents
+
mod_mime
Associe les extensions des fichiers demandés avec l'action +déclenchée par ces fichiers et avec leur contenu (type MIME, langage, +jeu de caractère et codage)
+
mod_mime_magic
Détermine le type MIME d'un fichier à partir de quelques +octets de son contenu
mod_negotiation
Effectue la négociation de contenu
-
mod_nw_ssl
Enable SSL encryption for NetWare
+
mod_nw_ssl
Active le chiffrement SSL pour Netware
mod_policy
HTTP protocol compliance enforcement.
-
mod_privileges
Support for Solaris privileges and for running virtual hosts -under different user IDs.
+
mod_privileges
Support des privilèges de Solaris et de l'exécution des +serveurs virtuels sous différents identifiants +utilisateurs.
mod_proxy
Serveur mandataire/passerelle multi-protocole
-
mod_proxy_ajp
AJP support module for -mod_proxy
-
mod_proxy_balancer
mod_proxy extension for load balancing
-
mod_proxy_connect
mod_proxy extension for -CONNECT request handling
-
mod_proxy_express
Dynamic mass reverse proxy extension for +
mod_proxy_ajp
Module de support AJP pour mod_proxy
-
mod_proxy_fcgi
FastCGI support module for +
mod_proxy_balancer
Extension de mod_proxy pour le support de +la répartition de charge
+
mod_proxy_connect
Extension de mod_proxy pour le traitement +des requêtes CONNECT
+
mod_proxy_express
Extension à mod_proxy pour le mandatement +dynamique inverse de masse
+
mod_proxy_fcgi
Module fournissant le support de FastCGI à mod_proxy
-
mod_proxy_fdpass
fdpass external process support module for -mod_proxy
-
mod_proxy_ftp
FTP support module for +
mod_proxy_fdpass
Module fournissant le support des processus externes fdpass +à mod_proxy
+
mod_proxy_ftp
Module fournissant le support FTP à mod_proxy
mod_proxy_hcheck
Dynamic health check of Balancer members (workers) for mod_proxy
-
mod_proxy_html
Rewrite HTML links in to ensure they are addressable -from Clients' networks in a proxy context.
+
mod_proxy_html
Réécrit les liens HTML afin de s'assurer qu'ils soient bien +adressables depuis les réseaux des clients dans un contexte de +mandataire.
mod_proxy_http
Module fournissant le support HTTP à mod_proxy
mod_proxy_http2
HTTP/2 support module for mod_proxy
-
mod_proxy_scgi
SCGI gateway module for mod_proxy
+
mod_proxy_scgi
Module fournissant le support de la passerelle SCGI à +mod_proxy
mod_proxy_wstunnel
Websockets support module for mod_proxy
-
mod_ratelimit
Bandwidth Rate Limiting for Clients
-
mod_reflector
Reflect a request body as a response via the output filter stack.
+
mod_ratelimit
Limitation de la bande passante pour les clients
+
mod_reflector
Renvoie un corps de requête comme réponse via la pile de +filtres en sortie.
mod_remoteip
Remplace l'adresse IP du client pour la requête par l'adresse IP présentée par un mandataire ou un répartiteur de charge via les en-têtes de la requête.
-
mod_reqtimeout
Set timeout and minimum data rate for receiving requests +
mod_reqtimeout
Définit le délai maximum et le taux de transfert des +données minimum pour la réception des requêtes
-
mod_request
Filters to handle and make available HTTP request bodies
+
mod_request
Filtres permettant de traiter et de mettre à disposition +les corps de requêtes HTTP
mod_rewrite
Ce module fournit un moteur de réécriture à base de règles permettant de réécrire les URLs des requêtes à la volée
mod_sed
Filtre les contenus en entrée (requêtes) et en sortie (réponses) en utilisant la syntaxe de sed
-
mod_session
Session support
-
mod_session_cookie
Cookie based session support
-
mod_session_crypto
Session encryption support
-
mod_session_dbd
DBD/SQL based session support
+
mod_session
Support des sessions
+
mod_session_cookie
Support des sessions basé sur les cookies
+
mod_session_crypto
Support du chiffrement des sessions
+
mod_session_dbd
Support des session basé sur DBD/SQL
mod_setenvif
Permet de définir des variables d'environnement en fonction de certaines caractéristiques de la requête
-
mod_slotmem_plain
Slot-based shared memory provider.
-
mod_slotmem_shm
Slot-based shared memory provider.
+
mod_slotmem_plain
Fournisseur de mémoire partagée à base de +slots.
+
mod_slotmem_shm
Fournisseur de mémoire partagée basée sur les +slots.
mod_so
Chargement de modules ou de code exécutable au cours du démarrage ou du redémarrage du serveur
-
mod_socache_dbm
DBM based shared object cache provider.
-
mod_socache_dc
Distcache based shared object cache provider.
-
mod_socache_memcache
Memcache based shared object cache provider.
-
mod_socache_shmcb
shmcb based shared object cache provider.
-
mod_speling
Attempts to correct mistaken URLs by ignoring -capitalization, or attempting to correct various minor -misspellings.
-
mod_ssl
Strong cryptography using the Secure Sockets -Layer (SSL) and Transport Layer Security (TLS) protocols
+
mod_socache_dbm
Fournisseur de cache d'objets partagés basé sur DBM.
+
mod_socache_dc
Fournisseur de cache d'objets partagés basé sur dc.
+
mod_socache_memcache
Fournisseur de cache d'objets partagés basé sur Memcache.
+
mod_socache_shmcb
Fournisseur de cache d'objets partagés basé sur shmcb.
+
mod_speling
Tente de corriger les erreurs de casse dans les URLs ou les +erreurs d'écriture mineures.
+
mod_ssl
Chiffrement de haut niveau basé sur les protocoles Secure +Sockets Layer (SSL) et Transport Layer Security (TLS)
mod_ssl_ct
Implementation of Certificate Transparency (RFC 6962)
mod_status
Fournit des informations sur les performances et l'activité du serveur
-
mod_substitute
Perform search and replace operations on response bodies
-
mod_suexec
Allows CGI scripts to run as a specified user -and Group
+
mod_substitute
Effectue des opérations de recherche/remplacement sur les +corps de réponses
+
mod_suexec
Permet l'exécution des scripts CGI sous l'utilisateur et +le groupe spécifiés
mod_syslog
Provides "syslog" ErrorLog provider
mod_systemd
Provides better support for systemd integration
mod_unique_id
Fournit une variable d'environnement contenant un identifiant unique pour chaque requête
-
mod_unixd
Basic (required) security for Unix-family platforms.
-
mod_userdir
User-specific directories
+
mod_unixd
Sécurité de base (nécessaire) pour les plates-formes de la +famille Unix.
+
mod_userdir
Répertoires propres à un utilisateur
mod_usertrack
-Clickstream logging of user activity on a site +Journalisation Clickstream des liens parcourus par un +utilisateur sur un site
mod_version
Version dependent configuration
-
mod_vhost_alias
Provides for dynamically configured mass virtual -hosting
+
mod_vhost_alias
Permet de configurer dynamiquement l'hébergement virtuel de +masse
mod_watchdog
provides infrastructure for other modules to periodically run tasks
mod_xml2enc
Enhanced charset/internationalisation support for libxml2-based diff --git a/docs/manual/mod/mod_authnz_ldap.html.fr b/docs/manual/mod/mod_authnz_ldap.html.fr index 6a2949ec47..c0b0600876 100644 --- a/docs/manual/mod/mod_authnz_ldap.html.fr +++ b/docs/manual/mod/mod_authnz_ldap.html.fr @@ -29,6 +29,8 @@

Langues Disponibles:  en  |  fr 

+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
diff --git a/docs/manual/mod/mod_cache.html.fr b/docs/manual/mod/mod_cache.html.fr index fea3eadc64..5db656871b 100644 --- a/docs/manual/mod/mod_cache.html.fr +++ b/docs/manual/mod/mod_cache.html.fr @@ -31,6 +31,8 @@  ja  |  ko 

+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
Description:Permet d'utiliser un annuaire LDAP pour l'authentification HTTP de base.
Statut:Extension
diff --git a/docs/manual/mod/mod_filter.html b/docs/manual/mod/mod_filter.html index 19725c63c6..7d163ef484 100644 --- a/docs/manual/mod/mod_filter.html +++ b/docs/manual/mod/mod_filter.html @@ -3,3 +3,7 @@ URI: mod_filter.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_filter.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_filter.xml.meta b/docs/manual/mod/mod_filter.xml.meta index 661090548b..57da411bff 100644 --- a/docs/manual/mod/mod_filter.xml.meta +++ b/docs/manual/mod/mod_filter.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_heartbeat.html b/docs/manual/mod/mod_heartbeat.html index 3bbe7cf83f..7f2d43e19c 100644 --- a/docs/manual/mod/mod_heartbeat.html +++ b/docs/manual/mod/mod_heartbeat.html @@ -3,3 +3,7 @@ URI: mod_heartbeat.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_heartbeat.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_heartbeat.html.fr b/docs/manual/mod/mod_heartbeat.html.fr new file mode 100644 index 0000000000..01307ba30e --- /dev/null +++ b/docs/manual/mod/mod_heartbeat.html.fr @@ -0,0 +1,142 @@ + + + + + +mod_heartbeat - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_heartbeat

+
+

Langues Disponibles:  en  | + fr 

+
+
Description:Filtre de mise en cache HTTP conforme à la RFC 2616
Statut:Extension
Identificateur de Module:cache_module
+ + + +
Description:Envoie des messages d'état au mandataire frontal
Statut:Expérimental
Identificateur de Module:heartbeat_module
Fichier Source:mod_heartbeat
Compatibilité:Disponible à partir de la version 2.3 +du serveur HTTP Apache
+

Sommaire

+ +

mod_heartbeat envoie à un moniteur + mod_heartmonitor des messages multicast l'informant + du nombre de connexions courantes. En général, + mod_heartmonitor est chargé sur un serveur + mandataire où mod_lbmethod_heartbeat est chargé, ce + qui permet d'utiliser la lbmethod "heartbeat" au sein des + directives ProxyPass.

+ +

+ Le module mod_heartbeat est chargé sur le + serveur d'origine qui sert les requêtes via le + serveur mandataire. +

+ +
+ Pour utiliser mod_heartbeat, + mod_status et mod_watchdog + doivent être soit des modules statiques, soit des modules + dynamiques, et dans ce dernier cas, ils doivent être chargés + avant mod_heartbeat. +
+ + + +
top
+
+

Utilisation de la sortie de mod_heartbeat

+ +

+ Chaque seconde, ce module génère un paquet multicast UDP contenant + le nombre de threads/processus occupés et en attente. Le paquet + possède un format ASCII simple similaire aux paramètres de requête + GET en HTTP. +

+ +

Exemple de paquet

+v=1&ready=75&busy=0 +

+ +

+ Les utilisateurs disposeront dans le futur de nouvelles variables en + plus de busy et ready, et toujours séparées par des '&'. +

+ +
+
top
+

Directive HeartbeatAddress

+ + + + + + + +
Description:Adresse multicast à laquelle envoyer les requêtes +heartbeat
Syntaxe:HeartbeatAddress addr:port
Défaut:disabled
Contexte:configuration du serveur
Statut:Expérimental
Module:mod_heartbeat
+

La directive HeartbeatAddress permet de + spécifier l'adresse multicast à laquelle mod_heartbeat va + envoyer ses informations. En général, cette adresse correspond à la + valeur définie par la directive HeartbeatListen sur le serveur + mandataire frontal.

+
HeartbeatAddress 239.0.0.1:27999
+ + +
+ +
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_heartbeat.xml.fr b/docs/manual/mod/mod_heartbeat.xml.fr new file mode 100644 index 0000000000..e7a3ba6f59 --- /dev/null +++ b/docs/manual/mod/mod_heartbeat.xml.fr @@ -0,0 +1,101 @@ + + + + + + + + + + + +mod_heartbeat +Envoie des messages d'état au mandataire frontal +Experimental +mod_heartbeat +heartbeat_module +Disponible à partir de la version 2.3 +du serveur HTTP Apache + + +

mod_heartbeat envoie à un moniteur + mod_heartmonitor des messages multicast l'informant + du nombre de connexions courantes. En général, + mod_heartmonitor est chargé sur un serveur + mandataire où mod_lbmethod_heartbeat est chargé, ce + qui permet d'utiliser la lbmethod "heartbeat" au sein des + directives ProxyPass.

+ +

+ Le module mod_heartbeat est chargé sur le + serveur d'origine qui sert les requêtes via le + serveur mandataire. +

+ + + Pour utiliser mod_heartbeat, + mod_status et mod_watchdog + doivent être soit des modules statiques, soit des modules + dynamiques, et dans ce dernier cas, ils doivent être chargés + avant mod_heartbeat. + + +
+ +
+ Utilisation de la sortie de mod_heartbeat +

+ Chaque seconde, ce module génère un paquet multicast UDP contenant + le nombre de threads/processus occupés et en attente. Le paquet + possède un format ASCII simple similaire aux paramètres de requête + GET en HTTP. +

+ +Exemple de paquet +v=1&ready=75&busy=0 + + +

+ Les utilisateurs disposeront dans le futur de nouvelles variables en + plus de busy et ready, et toujours séparées par des '&'. +

+ +
+ + +HeartbeatAddress +Adresse multicast à laquelle envoyer les requêtes +heartbeat +HeartbeatAddress addr:port +disabled +server config + + +

La directive HeartbeatAddress permet de + spécifier l'adresse multicast à laquelle mod_heartbeat va + envoyer ses informations. En général, cette adresse correspond à la + valeur définie par la directive HeartbeatListen sur le serveur + mandataire frontal.

+ + HeartbeatAddress 239.0.0.1:27999 + +
+
+ +
diff --git a/docs/manual/mod/mod_heartbeat.xml.meta b/docs/manual/mod/mod_heartbeat.xml.meta index 91ccf07609..8c08c5eb21 100644 --- a/docs/manual/mod/mod_heartbeat.xml.meta +++ b/docs/manual/mod/mod_heartbeat.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_heartmonitor.html b/docs/manual/mod/mod_heartmonitor.html index 5ac954ac8a..d72d841649 100644 --- a/docs/manual/mod/mod_heartmonitor.html +++ b/docs/manual/mod/mod_heartmonitor.html @@ -3,3 +3,7 @@ URI: mod_heartmonitor.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_heartmonitor.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_heartmonitor.html.fr b/docs/manual/mod/mod_heartmonitor.html.fr new file mode 100644 index 0000000000..38061f0998 --- /dev/null +++ b/docs/manual/mod/mod_heartmonitor.html.fr @@ -0,0 +1,158 @@ + + + + + +mod_heartmonitor - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_heartmonitor

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Moniteur centralisé pour les serveurs d'origine mod_heartbeat
Statut:Expérimental
Identificateur de Module:heartmonitor_module
Fichier Source:mod_heartmonitor.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

+mod_heartmonitor interprète les messages d'état générés +par les serveurs d'origine pour lesquels mod_heartbeat est activé et +fournit ces informations à mod_lbmethod_heartbeat, ce +qui permet d'utiliser la lbmethod "heartbeat" au sein des +directives ProxyPass. +

+ +

Ce module utilise les services de mod_slotmem_shm, +lorsqu'il est disponible, au lieu d'un simple fichier texte. Aucune +configuration supplémentaire n'est requise pour utiliser +mod_slotmem_shm.

+ +
+ Pour utiliser mod_heartmonitor, + mod_status et mod_watchdog + doivent être soit des modules statiques, soit des modules + dynamiques, et dans ce dernier cas, ils doivent être chargés + avant mod_heartmonitor. +
+
+ + +
top
+

Directive HeartbeatListen

+ + + + + + + +
Description:Adresse multicast d'écoute des requêtes entrantes heartbeat
Syntaxe:HeartbeatListenaddr:port
Défaut:disabled
Contexte:configuration du serveur
Statut:Expérimental
Module:mod_heartmonitor
+

La directive HeartbeatListen permet de + spécifier l'adresse multicast sur laquelle le serveur va surveiller les + informations d'état en provenance de serveurs où + mod_heartbeat est activé. Cette adresse correspond + en général à la valeur de la directive HeartbeatAddress sur le serveur + d'origine. +

+ +
HeartbeatListen 239.0.0.1:27999
+ + +

Tant que cette directive n'est pas utilisée, le module est + désactivé.

+ +
+
top
+

Directive HeartbeatMaxServers

+ + + + + + + +
Description:Spécifie le nombre maximal de serveurs qui pourront envoyer +des requêtes heartbeat à ce serveur.
Syntaxe:HeartbeatMaxServers nombre-de-serveurs
Défaut:HeartbeatMaxServers 10
Contexte:configuration du serveur
Statut:Expérimental
Module:mod_heartmonitor
+

La directive HeartbeatMaxServers + spécifie le nombre maximal de serveurs qui pourront envoyer des + requêtes heartbeat à ce serveur de monitoring. Elle permet ainsi de + contrôler la quantité de mémoire partagée allouée pour le stockage + des données heartbeat lorsqu'on utilise + mod_slotmem_shm.

+ +
+
top
+

Directive HeartbeatStorage

+ + + + + + + +
Description:Chemin vers le stockage des données heartbeat
Syntaxe:HeartbeatStorage chemin fichier
Défaut:HeartbeatStorage logs/hb.dat
Contexte:configuration du serveur
Statut:Expérimental
Module:mod_heartmonitor
+

La directive HeartbeatStorage permet de + spécifier le chemin de stockage des données heartbeat. Ce fichier + texte n'est utilisé que si mod_slotmem_shm n'est + pas chargé.

+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_heartmonitor.xml.fr b/docs/manual/mod/mod_heartmonitor.xml.fr new file mode 100644 index 0000000000..9b9c52d1a6 --- /dev/null +++ b/docs/manual/mod/mod_heartmonitor.xml.fr @@ -0,0 +1,116 @@ + + + + + + + + + + + +mod_heartmonitor +Moniteur centralisé pour les serveurs d'origine mod_heartbeat +Experimental +mod_heartmonitor.c +heartmonitor_module +Disponible depuis la version 2.3 d'Apache + + +

+mod_heartmonitor interprète les messages d'état générés +par les serveurs d'origine pour lesquels mod_heartbeat est activé et +fournit ces informations à mod_lbmethod_heartbeat, ce +qui permet d'utiliser la lbmethod "heartbeat" au sein des +directives ProxyPass. +

+ +

Ce module utilise les services de mod_slotmem_shm, +lorsqu'il est disponible, au lieu d'un simple fichier texte. Aucune +configuration supplémentaire n'est requise pour utiliser +mod_slotmem_shm.

+ + + Pour utiliser mod_heartmonitor, + mod_status et mod_watchdog + doivent être soit des modules statiques, soit des modules + dynamiques, et dans ce dernier cas, ils doivent être chargés + avant mod_heartmonitor. + +
+ + +HeartbeatListen +Adresse multicast d'écoute des requêtes entrantes heartbeat +HeartbeatListenaddr:port +disabled +server config + + +

La directive HeartbeatListen permet de + spécifier l'adresse multicast sur laquelle le serveur va surveiller les + informations d'état en provenance de serveurs où + mod_heartbeat est activé. Cette adresse correspond + en général à la valeur de la directive HeartbeatAddress sur le serveur + d'origine. +

+ + + HeartbeatListen 239.0.0.1:27999 + + +

Tant que cette directive n'est pas utilisée, le module est + désactivé.

+
+
+ + +HeartbeatStorage +Chemin vers le stockage des données heartbeat +HeartbeatStorage chemin fichier +HeartbeatStorage logs/hb.dat +server config + + +

La directive HeartbeatStorage permet de + spécifier le chemin de stockage des données heartbeat. Ce fichier + texte n'est utilisé que si mod_slotmem_shm n'est + pas chargé.

+
+
+ + +HeartbeatMaxServers +Spécifie le nombre maximal de serveurs qui pourront envoyer +des requêtes heartbeat à ce serveur. +HeartbeatMaxServers nombre-de-serveurs +HeartbeatMaxServers 10 +server config + + +

La directive HeartbeatMaxServers + spécifie le nombre maximal de serveurs qui pourront envoyer des + requêtes heartbeat à ce serveur de monitoring. Elle permet ainsi de + contrôler la quantité de mémoire partagée allouée pour le stockage + des données heartbeat lorsqu'on utilise + mod_slotmem_shm.

+
+
+ +
diff --git a/docs/manual/mod/mod_heartmonitor.xml.meta b/docs/manual/mod/mod_heartmonitor.xml.meta index 376443f8ba..269a7db489 100644 --- a/docs/manual/mod/mod_heartmonitor.xml.meta +++ b/docs/manual/mod/mod_heartmonitor.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_imagemap.html b/docs/manual/mod/mod_imagemap.html index 0436d50082..4b978b3067 100644 --- a/docs/manual/mod/mod_imagemap.html +++ b/docs/manual/mod/mod_imagemap.html @@ -4,6 +4,10 @@ URI: mod_imagemap.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_imagemap.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_imagemap.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_imagemap.html.fr b/docs/manual/mod/mod_imagemap.html.fr new file mode 100644 index 0000000000..deb068a77a --- /dev/null +++ b/docs/manual/mod/mod_imagemap.html.fr @@ -0,0 +1,440 @@ + + + + + +mod_imagemap - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_imagemap

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+ + + +
Description:Traitement des cartes des zones interactives d'une image +(imagemaps) au niveau du serveur
Statut:Base
Identificateur de Module:imagemap_module
Fichier Source:mod_imagemap.c
+

Sommaire

+ +

Ce module traite les fichiers .map, et remplace + ainsi la fonctionnalité du programme CGI imagemap. Tout + répertoire ou type de document configuré pour utiliser le + gestionnaire imap-file (à l'aide des directives + AddHandler ou SetHandler), sera traité par ce + module.

+ +

La directive suivante confère aux fichiers possèdant l'extension + .map le statut de fichiers imagemap :

+ +
AddHandler imap-file map
+ + +

Notez que la syntaxe suivante reste encore supportée :

+ +
AddType application/x-httpd-imap map
+ + +

Cependant, nous essayons d'abandonner progressivement les "types + MIME magiques", et cette syntaxe est sur le point de devenir + obsolète.

+
+ +
top
+
+

Nouvelles fonctionnalités

+ +

Le module imagemap propose quelques nouvelles fonctionnalités qui + n'étaient pas disponibles avec les programmes imagemap précédemment + distribués.

+ +
    +
  • Références d'URLs relatives à l'information contenue dans + l'en-tête Referer: .
  • + +
  • Assignement <base> par défaut via la + nouvelle directive base.
  • + +
  • Fichier imagemap.conf non requis.
  • + +
  • Références à des points.
  • + +
  • Génération configurable de menus d'images interactives.
  • +
+
top
+
+

Fichier imagemap

+ +

Les lignes d'un fichier imagemap peuvent se présenter sous + plusieurs formats :

+ +

+ directive valeur [x,y ...]
+ directive valeur "Texte de menu" [x,y + ...]
+ directive valeur x,y ... "Texte de menu" +

+ +

Les directives sont base, default, + poly, circle, rect, ou + point. valeur est une URL absolue ou relative, ou une + des valeurs spéciales énumérées ci-dessous. Les coordonnées sont des + paires x,y séparées par des + espaces. Le texte entre guillemets est le texte du lien si un menu + imagemap est généré. Les lignes commençant par '#' sont des + commentaires.

+ +

Directives d'un fichier + imagemap

+

Les directives autorisées dans un fichier imagemap sont au + nombre de six. Elles peuvent se trouver à n'importe quelle + position dans le fichier, mais sont traitées dans l'ordre selon + lequel elles sont enregistrées dans le fichier imagemap.

+ +
+
Directive base
+ +

Elle a le même effet que <base + href="valeur">. Les URLs non absolues du + fichier imagemap sont considérées comme relatives à cette valeur. + La directive base l'emporte sur une directive + ImapBase définie dans + un fichier .htaccess ou dans le fichier de + configuration du serveur. En l'absence de directive de + configuration ImapBase, la valeur par + défaut de base est + http://nom_serveur/.

+

base_uri est un synonyme de base. + Notez que la présence ou l'absence d'un slash de fin dans l'URL + est importante.

+ +
Directive default
+ +
La décision à prendre si les coordonnées fournies ne + correspondent à aucune des directives poly, + circle, ou rect, et si aucune directive + point n'est présente. En l'absence de définition + d'une directive de configuration ImapDefault, la valeur par défaut est + nocontent et provoque l'envoi d'un code de statut + 204 No Content. Le client verra toujours la même + page s'afficher.
+ +
Directive poly
+ +
Accepte comme arguments trois à cent points, et est actionnée + si les coordonnées sélectionnées par l'utilisateur tombent dans le + polygone défini par ces points.
+ +
Directive circle
+ +
Accepte comme arguments les coordonnées du centre d'un cercle + et celles d'un point de ce cercle. Elle est actionnée si les + coordonnées sélectionnées par l'utilisateur tombent dans ce + cercle.
+ +
Directive rect
+ +
Accepte comme arguments les coordonnées des sommets de deux + angles opposés d'un rectangle. Elle est actionnée si les + coordonnées sélectionnées par l'utilisateur tombent dans ce + rectangle.
+ +
Directive point
+ +
Elle n'accepte qu'un seul point comme argument. Si aucune + autre directive ne correspond, c'est la directive + dont le point spécifié est le plus près du point sélectionné par + l'utilisateur qui est actionnée. Notez que la directive + default ne sera pas suivie si une directive + point est présente et si des coordonnées valides sont + fournies.
+
+ + +

Valeurs

+ +

Les valeurs passées aux directives peuvent contenir :

+ +
+
une URL
+ +

L'URL peut être absolue ou relative. Les URLs relatives + peuvent contenir '..' et seront considérées comme relatives à la + valeur de base.

+

base en lui-même, ne sera pas résolu en fonction + de la valeur courante. Cependant, une directive base + mailto: fonctionnera correctement.

+ +
map
+ +
Équivalent à l'URL du fichier imagemap lui-même. Aucune + coordonnée n'est spécifiée, et un menu sera donc généré, à moins + qu'une directive ImapMenu n'ait été définie à + none.
+ +
menu
+
Équivalent à map.
+ +
referer
+ +
Équivalent à l'URL du document référant. La valeur par défaut + est http://nom_serveur/ si aucun en-tête + Referer: n'est présent.
+ +
nocontent
+ +
Envoie un code de statut 204 No Content, + indiquant au client qu'il doit continuer à afficher la même page. + Valide pour toutes les directives, sauf base.
+ +
error
+ +
Envoie un code de statut d'échec 500 Server + Error. Valide pour toutes les directives, sauf + base, mais n'a de sens qu'avec la directive + default.
+
+ + +

Coordonnées

+ +
+
0,0 200,200
+ +
Une coordonnée se compose de deux valeurs, x et + y, séparées par une virgule. Les coordonnées sont + séparées entre elles par des espaces. Pour s'adapter à la manière + dont Lynx traite les images interactives, la sélection par un + utilisateur de la coordonnée 0,0 a le même effet que + si aucune coordonnée n'a été sélectionnée.
+
+ + + +

Texte entre + guillemets

+ +
+
"Texte du menu"
+ +

Après la valeur ou les coordonnées, la ligne peut + éventuellement contenir un texte entre guillemets. Cette chaîne + constitue le texte du lien si un menu est généré :

+ +

+ <a href="http://example.com/">Texte de + menu</a> +

+ +

Si aucun texte entre guillemets n'est présent, le texte sera + constitué du nom du lien :

+ +

+ <a href="http://example.com/">http://example.com</a> +

+ +

Si vous voulez insérer des guillemets dans le texte, vous devez + les inscrire sous la forme &quot;.

+
+ + +
top
+
+

Exemple de fichier imagemap

+ +

+ #Les commentaires sont affichés dans un menu 'formaté' ou + #'semi-formaté'.
+ #Et peuvent contenir des balises html. <hr>
+ base referer
+ poly map "Puis-je avoir un menu, s'il vous plait ?" 0,0 0,10 10,10 10,0
+ rect .. 0,0 77,27 "le répertoire du référant"
+ circle http://www.inetnebr.example.com/lincoln/feedback/ 195,0 305,27
+ rect autre_fichier "dans le même répertoire que le référant" 306,0 419,27
+ point http://www.zyzzyva.example.com/ 100,100
+ point http://www.tripod.example.com/ 200,200
+ rect mailto:nate@tripod.example.com 100,150 200,0 "Bogues?"
+

+ +
top
+
+

Référencement de votre fichier +imagemap

+ +

Exemple HTML

+ <a href="/maps/imagemap1.map">
+ + <img ismap src="/images/imagemap1.gif">
+
+ </a> +

+ +

Exemple XHTML

+ <a href="/maps/imagemap1.map">
+ + <img ismap="ismap" src="/images/imagemap1.gif" />
+
+ </a> +

+ +
+
top
+

Directive ImapBase

+ + + + + + + + +
Description:Valeur par défaut de la directive base des +fichiers imagemap
Syntaxe:ImapBase map|referer|URL
Défaut:ImapBase http://nom_serveur/
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:Indexes
Statut:Base
Module:mod_imagemap
+

La directive ImapBase permet de définir la + valeur par défaut de la directive base des fichiers + imagemap. Sa valeur est écrasée par la présence éventuelle d'une + directive base dans le fichier imagemap. Si cette + directive est absente, la valeur par défaut de la directive + base est + http://nom_serveur/.

+ +

Voir aussi

+ +
+
top
+

Directive ImapDefault

+ + + + + + + + +
Description:Action à entreprendre par défaut lorsqu'un fichier imagemap +est invoqué avec des coordonnées qui ne correspondent à aucune +cible
Syntaxe:ImapDefault error|nocontent|map|referer|URL
Défaut:ImapDefault nocontent
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:Indexes
Statut:Base
Module:mod_imagemap
+

La directive ImapDefault permet de définir + la valeur par défaut de la directive default utilisée + dans les fichiers imagemap. Sa valeur est écrasée par la présence + éventuelle d'une directive default dans le fichier + imagemap. Si cette directive est absente, l'action associée à + default est nocontent, ce qui implique + l'envoi d'un code de statut 204 No Content au client. + Dans ce cas, le client doit continuer à afficher la même page.

+ +
+
top
+

Directive ImapMenu

+ + + + + + + + +
Description:Action à entreprendre si aucune coordonnée n'est fournie +lorsqu'on invoque un fichier imagemap
Syntaxe:ImapMenu none|formatted|semiformatted|unformatted
Défaut:ImapMenu formatted
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:Indexes
Statut:Base
Module:mod_imagemap
+

La directive ImapMenu permet de spécifier + l'action à entreprendre lorsqu'un fichier imagemap est invoqué sans + coordonnées valides.

+ +
+
none
+
Si l'argument d'ImapMenu est none, aucun menu + n'est généré, et l'action default est effectuée.
+ +
formatted
+
Le menu formatted est le menu le plus simple. Les + commentaires du fichier imagemap sont ignorés. Un en-tête de + niveau un est affiché, puis un séparateur horizontal, puis chacun + des liens sur une ligne séparée. L'aspect du menu est similaire à + celui d'un listing de répertoire.
+ +
semiformatted
+
Dans le menu semiformatted, les commentaires sont + affichés au moment où ils apparaissent dans le fichier imagemap. + Les lignes vides sont interprètées comme des lignes de séparation + HTML. Aucun en-tête ni séparateur horizontal n'est affiché. À part + ces différences, le menu semiformatted est identique + au menu formatted.
+ +
unformatted
+
Les commentaires sont affichés et les lignes vides sont + ignorées. N'est affiché que ce qui apparait dans le fichier + imagemap. Toutes les lignes de séparation HTML et les + en-têtes doivent être inclus en tant que commentaires dans le + fichier imagemap. Cela vous procure une grande souplesse pour + définir l'apparence de vos menus, mais vous oblige à rédiger vos + fichiers imagemap en HTML, et non en texte plat.
+
+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_imagemap.xml.fr b/docs/manual/mod/mod_imagemap.xml.fr new file mode 100644 index 0000000000..dfcddfcaf7 --- /dev/null +++ b/docs/manual/mod/mod_imagemap.xml.fr @@ -0,0 +1,388 @@ + + + + + + + + + + + +mod_imagemap +Traitement des cartes des zones interactives d'une image +(imagemaps) au niveau du serveur +Base +mod_imagemap.c +imagemap_module + + +

Ce module traite les fichiers .map, et remplace + ainsi la fonctionnalité du programme CGI imagemap. Tout + répertoire ou type de document configuré pour utiliser le + gestionnaire imap-file (à l'aide des directives + AddHandler ou SetHandler), sera traité par ce + module.

+ +

La directive suivante confère aux fichiers possèdant l'extension + .map le statut de fichiers imagemap :

+ + AddHandler imap-file map + +

Notez que la syntaxe suivante reste encore supportée :

+ + AddType application/x-httpd-imap map + +

Cependant, nous essayons d'abandonner progressivement les "types + MIME magiques", et cette syntaxe est sur le point de devenir + obsolète.

+
+ +
Nouvelles fonctionnalités + +

Le module imagemap propose quelques nouvelles fonctionnalités qui + n'étaient pas disponibles avec les programmes imagemap précédemment + distribués.

+ +
    +
  • Références d'URLs relatives à l'information contenue dans + l'en-tête Referer: .
  • + +
  • Assignement <base> par défaut via la + nouvelle directive base.
  • + +
  • Fichier imagemap.conf non requis.
  • + +
  • Références à des points.
  • + +
  • Génération configurable de menus d'images interactives.
  • +
+
+ +
Fichier imagemap + +

Les lignes d'un fichier imagemap peuvent se présenter sous + plusieurs formats :

+ + + directive valeur [x,y ...]
+ directive valeur "Texte de menu" [x,y + ...]
+ directive valeur x,y ... "Texte de menu" +
+ +

Les directives sont base, default, + poly, circle, rect, ou + point. valeur est une URL absolue ou relative, ou une + des valeurs spéciales énumérées ci-dessous. Les coordonnées sont des + paires x,y séparées par des + espaces. Le texte entre guillemets est le texte du lien si un menu + imagemap est généré. Les lignes commençant par '#' sont des + commentaires.

+ +
Directives d'un fichier + imagemap +

Les directives autorisées dans un fichier imagemap sont au + nombre de six. Elles peuvent se trouver à n'importe quelle + position dans le fichier, mais sont traitées dans l'ordre selon + lequel elles sont enregistrées dans le fichier imagemap.

+ +
+
Directive base
+ +

Elle a le même effet que <base + href="valeur">. Les URLs non absolues du + fichier imagemap sont considérées comme relatives à cette valeur. + La directive base l'emporte sur une directive + ImapBase définie dans + un fichier .htaccess ou dans le fichier de + configuration du serveur. En l'absence de directive de + configuration ImapBase, la valeur par + défaut de base est + http://nom_serveur/.

+

base_uri est un synonyme de base. + Notez que la présence ou l'absence d'un slash de fin dans l'URL + est importante.

+ +
Directive default
+ +
La décision à prendre si les coordonnées fournies ne + correspondent à aucune des directives poly, + circle, ou rect, et si aucune directive + point n'est présente. En l'absence de définition + d'une directive de configuration ImapDefault, la valeur par défaut est + nocontent et provoque l'envoi d'un code de statut + 204 No Content. Le client verra toujours la même + page s'afficher.
+ +
Directive poly
+ +
Accepte comme arguments trois à cent points, et est actionnée + si les coordonnées sélectionnées par l'utilisateur tombent dans le + polygone défini par ces points.
+ +
Directive circle
+ +
Accepte comme arguments les coordonnées du centre d'un cercle + et celles d'un point de ce cercle. Elle est actionnée si les + coordonnées sélectionnées par l'utilisateur tombent dans ce + cercle.
+ +
Directive rect
+ +
Accepte comme arguments les coordonnées des sommets de deux + angles opposés d'un rectangle. Elle est actionnée si les + coordonnées sélectionnées par l'utilisateur tombent dans ce + rectangle.
+ +
Directive point
+ +
Elle n'accepte qu'un seul point comme argument. Si aucune + autre directive ne correspond, c'est la directive + dont le point spécifié est le plus près du point sélectionné par + l'utilisateur qui est actionnée. Notez que la directive + default ne sera pas suivie si une directive + point est présente et si des coordonnées valides sont + fournies.
+
+
+ +
Valeurs + +

Les valeurs passées aux directives peuvent contenir :

+ +
+
une URL
+ +

L'URL peut être absolue ou relative. Les URLs relatives + peuvent contenir '..' et seront considérées comme relatives à la + valeur de base.

+

base en lui-même, ne sera pas résolu en fonction + de la valeur courante. Cependant, une directive base + mailto: fonctionnera correctement.

+ +
map
+ +
Équivalent à l'URL du fichier imagemap lui-même. Aucune + coordonnée n'est spécifiée, et un menu sera donc généré, à moins + qu'une directive ImapMenu n'ait été définie à + none.
+ +
menu
+
Équivalent à map.
+ +
referer
+ +
Équivalent à l'URL du document référant. La valeur par défaut + est http://nom_serveur/ si aucun en-tête + Referer: n'est présent.
+ +
nocontent
+ +
Envoie un code de statut 204 No Content, + indiquant au client qu'il doit continuer à afficher la même page. + Valide pour toutes les directives, sauf base.
+ +
error
+ +
Envoie un code de statut d'échec 500 Server + Error. Valide pour toutes les directives, sauf + base, mais n'a de sens qu'avec la directive + default.
+
+
+ +
Coordonnées + +
+
0,0 200,200
+ +
Une coordonnée se compose de deux valeurs, x et + y, séparées par une virgule. Les coordonnées sont + séparées entre elles par des espaces. Pour s'adapter à la manière + dont Lynx traite les images interactives, la sélection par un + utilisateur de la coordonnée 0,0 a le même effet que + si aucune coordonnée n'a été sélectionnée.
+
+ +
+ +
Texte entre + guillemets + +
+
"Texte du menu"
+ +

Après la valeur ou les coordonnées, la ligne peut + éventuellement contenir un texte entre guillemets. Cette chaîne + constitue le texte du lien si un menu est généré :

+ + + <a href="http://example.com/">Texte de + menu</a> + + +

Si aucun texte entre guillemets n'est présent, le texte sera + constitué du nom du lien :

+ + + <a href="http://example.com/">http://example.com</a> + + +

Si vous voulez insérer des guillemets dans le texte, vous devez + les inscrire sous la forme &quot;.

+
+ +
+
+ +
Exemple de fichier imagemap + + + #Les commentaires sont affichés dans un menu 'formaté' ou + #'semi-formaté'.
+ #Et peuvent contenir des balises html. <hr>
+ base referer
+ poly map "Puis-je avoir un menu, s'il vous plait ?" 0,0 0,10 10,10 10,0
+ rect .. 0,0 77,27 "le répertoire du référant"
+ circle http://www.inetnebr.example.com/lincoln/feedback/ 195,0 305,27
+ rect autre_fichier "dans le même répertoire que le référant" 306,0 419,27
+ point http://www.zyzzyva.example.com/ 100,100
+ point http://www.tripod.example.com/ 200,200
+ rect mailto:nate@tripod.example.com 100,150 200,0 "Bogues?"
+
+ +
+ +
Référencement de votre fichier +imagemap + + Exemple HTML + <a href="/maps/imagemap1.map">
+ + <img ismap src="/images/imagemap1.gif">
+
+ </a> +
+ + Exemple XHTML + <a href="/maps/imagemap1.map">
+ + <img ismap="ismap" src="/images/imagemap1.gif" />
+
+ </a> +
+ +
+ + +ImapMenu +Action à entreprendre si aucune coordonnée n'est fournie +lorsqu'on invoque un fichier imagemap +ImapMenu none|formatted|semiformatted|unformatted +ImapMenu formatted +server configvirtual host +directory.htaccess +Indexes + + +

La directive ImapMenu permet de spécifier + l'action à entreprendre lorsqu'un fichier imagemap est invoqué sans + coordonnées valides.

+ +
+
none
+
Si l'argument d'ImapMenu est none, aucun menu + n'est généré, et l'action default est effectuée.
+ +
formatted
+
Le menu formatted est le menu le plus simple. Les + commentaires du fichier imagemap sont ignorés. Un en-tête de + niveau un est affiché, puis un séparateur horizontal, puis chacun + des liens sur une ligne séparée. L'aspect du menu est similaire à + celui d'un listing de répertoire.
+ +
semiformatted
+
Dans le menu semiformatted, les commentaires sont + affichés au moment où ils apparaissent dans le fichier imagemap. + Les lignes vides sont interprètées comme des lignes de séparation + HTML. Aucun en-tête ni séparateur horizontal n'est affiché. À part + ces différences, le menu semiformatted est identique + au menu formatted.
+ +
unformatted
+
Les commentaires sont affichés et les lignes vides sont + ignorées. N'est affiché que ce qui apparait dans le fichier + imagemap. Toutes les lignes de séparation HTML et les + en-têtes doivent être inclus en tant que commentaires dans le + fichier imagemap. Cela vous procure une grande souplesse pour + définir l'apparence de vos menus, mais vous oblige à rédiger vos + fichiers imagemap en HTML, et non en texte plat.
+
+
+
+ + +ImapDefault +Action à entreprendre par défaut lorsqu'un fichier imagemap +est invoqué avec des coordonnées qui ne correspondent à aucune +cible +ImapDefault error|nocontent|map|referer|URL +ImapDefault nocontent +server configvirtual host +directory.htaccess +Indexes + + +

La directive ImapDefault permet de définir + la valeur par défaut de la directive default utilisée + dans les fichiers imagemap. Sa valeur est écrasée par la présence + éventuelle d'une directive default dans le fichier + imagemap. Si cette directive est absente, l'action associée à + default est nocontent, ce qui implique + l'envoi d'un code de statut 204 No Content au client. + Dans ce cas, le client doit continuer à afficher la même page.

+
+
+ + +ImapBase +Valeur par défaut de la directive base des +fichiers imagemap +ImapBase map|referer|URL +ImapBase http://nom_serveur/ +server configvirtual host +directory.htaccess +Indexes + + +

La directive ImapBase permet de définir la + valeur par défaut de la directive base des fichiers + imagemap. Sa valeur est écrasée par la présence éventuelle d'une + directive base dans le fichier imagemap. Si cette + directive est absente, la valeur par défaut de la directive + base est + http://nom_serveur/.

+
+UseCanonicalName +
+ +
diff --git a/docs/manual/mod/mod_imagemap.xml.meta b/docs/manual/mod/mod_imagemap.xml.meta index ebbce04f9e..2be170255e 100644 --- a/docs/manual/mod/mod_imagemap.xml.meta +++ b/docs/manual/mod/mod_imagemap.xml.meta @@ -8,6 +8,7 @@ en + fr ko diff --git a/docs/manual/mod/mod_include.html b/docs/manual/mod/mod_include.html index db272ac700..2fbaf256ef 100644 --- a/docs/manual/mod/mod_include.html +++ b/docs/manual/mod/mod_include.html @@ -4,6 +4,10 @@ URI: mod_include.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_include.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_include.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_include.html.fr b/docs/manual/mod/mod_include.html.fr new file mode 100644 index 0000000000..0918280c17 --- /dev/null +++ b/docs/manual/mod/mod_include.html.fr @@ -0,0 +1,1221 @@ + + + + + +mod_include - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_include

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + +
Description:Documents html interprétés par le serveur (Server Side +Includes ou SSI)
Statut:Base
Identificateur de Module:include_module
Fichier Source:mod_include.c
+

Sommaire

+ +

Ce module fournit un filtre qui va traiter les fichiers avant + de les envoyer au client. Le traitement est contrôlé via des + commentaires SGML spécialement formatés, aussi nommés + éléments. Ces éléments permettent l'insertion + conditionnelle de texte, l'inclusion d'autres fichiers ou + programmes, ainsi que la définition et l'affichage de variables + d'environnement.

+
+ +
top
+
+

Activation des SSI

+ + +

Les SSI sont implémentés par le filtre INCLUDES. Si des + documents contenant des directives SSI possèdent une extension + .shtml, les directives suivantes indiqueront à Apache de les + interpréter et d'assigner le type MIME + text/html au document obtenu :

+ +
AddType text/html .shtml
+AddOutputFilter INCLUDES .shtml
+ + +

L'option suivante doit être définie pour les répertoires qui + contiennent les fichiers shtml (en général dans une section + <Directory>, mais + cette option peut également être définie dans un fichier + .htaccess si AllowOverride Options a été défini pour le + répertoire considéré) :

+ +
Options +Includes
+ + +

Pour des raisons de compatibilité ascendante, le gestionnaire server-parsed + peut aussi activer le filtre INCLUDES. Ainsi, Apache va activer le + filtre INCLUDES pour tout document de type MIME + text/x-server-parsed-html ou + text/x-server-parsed-html3 (et le document obtenu aura + pour type MIME text/html).

+ +

Pour plus d'informations, voyez notre Tutoriel SSI.

+
top
+
+

PATH_INFO et SSI

+ + +

Les fichiers traités dans le cadre des SSI n'acceptent plus par + défaut les requêtes avec PATH_INFO (les informations + relatives au chemin en fin de requête). La directive AcceptPathInfo permet de configurer le + serveur de façon à ce qu'il accepte ce genre de requête.

+
top
+
+

Eléments disponibles

+

Le document est interprété comme un document HTML, avec des + commandes spéciales incluses sous forme de commentaires SGML. La + syntaxe d'une commande est la suivante :

+ +

+ <!--#élément attribut=valeur + attribut=valeur ... --> +

+ +

Les valeurs sont souvent entourées de guillemets, mais on peut + aussi utiliser des apostrophes (') ou des apostrophes + inverses (`). De nombreuses commandes n'acceptent + qu'une seule paire attribut-valeur. Notez que le terminateur de + commentaire (-->) doit être précédé d'un espace afin + d'être sûr qu'il ne soit pas considéré comme un élément de commande + SSI. Notez aussi que le délimiteur de début <!--# + est un élément de commande et ne doit donc pas contenir + d'espace.

+ +

La table suivante contient la liste des éléments autorisés :

+ + + + + + + + + + + + + + + + + + + + + +
ElémentDescription
commentcommentaire SSI
configconfigure les formats de sortie
echoaffiche le contenu de variables
execexécute des programmes externes
fsizeaffiche la taille d'un fichier
flastmodaffiche la date de dernière modification d'un fichier
includeinclut un fichier
printenvaffiche toutes les variables disponibles
setdéfinit la valeur d'une variable
+ +

Les éléments SSI peuvent être définis par d'autres modules que + mod_include. À ce titre, l'élément exec est fourni par + mod_cgi, et ne sera disponible que si ce module est + chargé.

+ +

L'élément comment

+

Cette commande n'affiche aucune information. Elle n'a pour but que + l'ajout de commentaires dans un fichier et ces commentaires ne sont pas + affichés.

+ +

Cette syntaxe est disponible à partir de la version 2.5 du serveur + HTTP Apache.

+ +

+ <!--#comment Blah Blah Blah --> +

+ + +

L'élément config

+

Cette commande contrôle divers aspects de l'interprétation. Les + attributs valides sont :

+ +
+
echomsg (Versions 2.1 et supérieures + d'Apache)
+

La valeur est un message qui sera envoyé au client si + l'élément echo tente + d'afficher le contenu d'une variable non définie. Cet attribut + l'emporte sur toute directive SSIUndefinedEcho.

+ +

+ <!--#config echomsg="[Valeur non définie]" --> +

+ +
+ +
errmsg
+

La valeur est un message qui sera envoyé au client si une + erreur survient lors de l'interprétation du document. Cet attribut + l'emporte sur toute directive SSIErrorMsg.

+ +

+ <!--#config errmsg="[Zut, quelque chose s'est mal passé.]" --> +

+ +
+ +
sizefmt
+

La valeur définit l'unité employée lors de l'affichage de la + taille d'un fichier. Les valeurs possibles sont bytes + pour une taille en octets, ou abbrev pour une taille + en Ko ou Mo selon son importance ; par exemple, une taille de 1024 + octets sera affichée sous la forme "1K".

+ +

+ <!--#config sizefmt="abbrev" --> +

+ +
+ +
timefmt
+

La valeur est une chaîne que pourra utiliser la fonction de la + bibliothèque standard strftime(3) lors de l'affichage + des dates.

+ +

+ <!--#config timefmt=""%R, %B %d, %Y"" --> +

+ +
+ +
+ + +

L'élément echo

+

Cette commande affiche le contenu d'une des variables include définies ci-dessous. Si + la variable n'est pas définie, le résultat est déterminé par la + valeur de la directive SSIUndefinedEcho. Le format d'affichage des dates est + défini par l'attribut timefmt de la commande + config.

+ +

Attributs:

+ +
+
var
+
La valeur est le nom de la variable à afficher.
+ +
decoding
+

Spécifie si Apache doit effectuer un décodage dans la + variable avant son traitement ultérieur. La valeur par défaut est + none, et dans ce cas, aucun décodage n'est effectué. + Si la valeur est url, un décodage de type URL sera + effectué (il s'agit du codage de type %-encoding utilisé dans les + URLs des liens, etc...). Si la valeur est urlencoded, + c'est un décodage des éléments de type + application/x-www-form-urlencode (que l'on trouve dans les chaînes + de paramètres) qui sera effectué. Si la valeur est + base64, un + decodage de type base64 sera effectué, et si elle est + entity, c'est un décodage des entités HTML qui sera + effectué. Ce décodage est effectué avant tout codage ultérieur de + la variable. Il est possible d'effectuer plusieurs décodages en + spécifiant plusieurs valeurs séparées par des virgules. Les + spécifications de décodages restent valables jusqu'au prochain + attribut de décodage, ou la fin de l'élément.

+ +

Pour être pris en compte, l'attribut de décodage + doit précéder l'attribut var correspondant.

+
+ +
encoding
+

Spécifie la manière dont Apache va coder les caractères + spéciaux que la variable contient avant leur affichage. S'il est + défini à none, aucun codage ne sera effectué. S'il + est défini à url, un codage de type URL sera effectué + (aussi connu sous le nom de codage avec caractères % , il convient + pour les URLS des liens, etc...). S'il est défini à + urlencoded, c'est un codage compatible + application/x-www-form-urlencoded qui sera effectué (à utiliser + dans les chaînes de paramètres). S'il est défini à + base64, c'est un encodage de type base64 qui sera + effectué. Au début d'un élément + echo, la valeur par défaut est définie à + entity, ce qui correspond à un codage de type entité + (codage qui convient pour un élément HTML de type bloc, comme le + paragraphe d'un texte). Cette valeur par défaut peut être modifiée + en ajoutant un attribut encoding, qui fera effet + jusqu'à la définition d'un nouvel attribut encoding + ou la fin de l'élément echo.

+ +

Pour produire son effet, l'attribut encoding doit + précéder l'attribut var concerné.

+ +
+ Afin de prévenir les attaques de type cross-site scripting, il + est recommandé de toujours encoder les données fournies + par les utilisateurs. +
+ +

Example

+ <!--#echo encoding="entity" var="QUERY_STRING" --> +

+
+
+ + +

L'élément exec

+

La commande exec exécute la commande shell ou le + script spécifié. Elle nécessite le chargement du module + mod_cgi. Si Options IncludesNOEXEC est + définie, cette commande est désactivée. Les attributs disponibles + sont :

+ +
+
cgi
+

La valeur spécifie un chemin URL vers le script CGI (encodé + avec caractères %). Si le chemin ne commence pas par un slash (/), + il est considéré comme relatif au document courant. Le document + référencé par ce chemin est invoqué en tant que script CGI, même + s'il n'est pas censé être reconnu comme tel par le serveur. Les + scripts CGI doivent cependant être activés dans le répertoire qui + contient les scripts (via la directive ScriptAlias ou l'Options ExecCGI).

+ +

Le PATH_INFO et la chaîne d'arguments + (QUERY_STRING) de la requête originale du client sont + fournis au script CGI ; ils ne peuvent pas être spécifiés + dans le chemin de l'URL. Le script disposera des variables include + en plus de l'environnement standard CGI.

+ +

Exemple

+ <!--#exec cgi="/cgi-bin/exemple.cgi" --> +

+ +

Si, à la place d'un flux de sortie, le script renvoie un + en-tête Location:, ce dernier sera traduit en ancrage + HTML.

+ +

L'élément include + virtual doit être préféré à exec cgi. En + particulier, si vous devez transmettre des arguments + supplémentaires à un programme CGI en utilisant la chaîne + d'arguments de la requête, c'est impossible avec exec + cgi, mais vous pouvez y parvenir avec include + virtual comme suit :

+ +

+ <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" --> +

+
+ +
cmd
+

Le serveur va exécuter la commande fournie en utilisant + /bin/sh. La commande dispose des variables include, en plus du jeu habituel + de variables CGI.

+ +

Il est toujours préférable d'utiliser #include virtual à la place de + #exec cgi ou #exec cmd. #include + virtual utilise le mécanisme standard des sous-requêtes + d'Apache pour inclure des fichiers ou des scripts. Il a fait + l'objet de tests plus approfondis et sa maintenance est mieux + suivie.

+ +

De plus, sur certaines plate-formes, comme Win32, et sous unix, + si l'on utilise suexec, il est + impossible de transmettre des arguments à une commande dans une + directive exec, à moins d'insérer des espaces dans la + commande. Ainsi, alors que ce qui suit fonctionnera sous unix avec + une configuration sans suexec, l'effet produit ne sera pas celui + désiré sous Win32, ou dans le cas de l'utilisation de suexec + :

+ +

+ <!--#exec cmd="perl /chemin/vers/script_perl arg1 arg2" --> +

+
+
+ + +

L'élément fsize

+

Cette commande permet d'afficher la taille du fichier spécifié + en fonction des spécifications de format de sizefmt. + Attributs :

+ +
+
file
+
La valeur est le chemin du fichier, relatif au répertoire + contenant le document en cours d'interprétation. + +

+ Ce fichier a une taille de <!--#fsize file="mod_include.html" + --> octets. +

+ + La valeur de file ne peut pas faire référence à un + fichier situé à un niveau supérieur de l'arborescence du répertoire + courant ou en dehors de la racine des documents ; il ne peut donc + ni commencer par un slash, ni contenir la séquence de caractères + ../. Si c'est le cas, le message d'erreur The + given path was above the root path sera renvoyé. +
+ +
virtual
+
La valeur est un chemin URL (codé avec caractères %). S'il ne + commence pas par un slash (/), il est considéré comme relatif au + document courant. Notez que cette commande n'affiche pas + la taille de la sortie d'un programme CGI, mais la taille du + programme CGI lui-même.
+
+ +

+ Ce fichier a une taille de <!--#fsize + virtual="/docs/mod/mod_include.html" --> octets. +

+ +

Notez que dans la plupart des cas, ces deux attributs sont + identiques. Cependant, l'attribut file ne respecte + pas les aliases URL-space.

+ + +

L'élément flastmod

+

Cette commande permet d'afficher la date de dernière + modification du fichier spécifié, en fonction des spécifications + de format de timefmt. Les attributs sont les mêmes + que ceux de la commande fsize.

+ + +

L'élément include

+

Cette commande permet d'insérer le texte d'un autre document ou + fichier dans le fichier en cours d'interprétation. Tout fichier + inclus est soumis au contrôle d'accès habituel. Si Options IncludesNOEXEC + est défini pour le répertoire contenant le fichier + interprété, seuls les documents possèdant un + type MIME de type texte + (text/plain, text/html, etc...) seront + inclus. Les scripts CGI, quant à eux, sont invoqués de manière + habituelle en utilisant l'URL complète fournie avec la commande, y + compris toute chaîne d'arguments éventuelle.

+ +

Un attribut définit le chemin du document à inclure, et peut + apparaître plusieurs fois dans l'élément à inclure ; en retour, pour + chaque attribut fourni à la commande include, une inclusion est + effectuée. Les attributs disponibles sont :

+ +
+
file
+
La valeur est un chemin relatif au répertoire contenant le + fichier en cours d'interprétation. Elle ne peut ni contenir + ../, ni être un chemin absolu. Ainsi, vous ne pouvez + pas inclure de fichiers situés en dehors de l'arborescence du + site web ou dans un niveau supérieur à celui du fichier courant + dans cette arborescence. Il est toujours préférable d'utiliser + l'attribut virtual.
+ +
virtual
+

La valeur est un chemin URL (codé avec caractères %). L'URL + ne peut contenir qu'un chemin et une chaîne d'arguments + éventuelle, à l'exclusion de tout protocole ou nom d'hôte. S'il ne + commence pas par un slash (/), il est considéré comme relatif au + document courant.

+ +

Une URL est construite à partir de l'attribut, et la sortie que + renverrait le serveur si l'URL était accédée par le client est + incluse dans la sortie interprétée. Les inclusions de fichiers + peuvent ainsi être imbriquées.

+ +

Si l'URL spécifiée correspond à un programme CGI, le programme + sera exécuté, et son flux de sortie inséré à la place de la + directive dans le fichier interprété. Vous pouvez insérer une + chaîne d'arguments dans une URL correspond à un programme CGI + :

+ +

+ <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" --> +

+ +

include virtual doit être préféré à exec + cgi pour inclure le flux de sortie d'un programme CGI dans + un document HTML.

+ +

Si la directive KeptBodySize est correctement + définie et valide pour le fichier inclus, les tentatives de + requêtes POST vers le document HTML qui inclut des fichiers seront + transmises aux sous-requêtes en tant que requêtes POST + elles-mêmes. Sans cette directive, toutes les sous-requêtes sont + traitées en tant que requêtes GET.

+ +
+ +
onerror
+

La valeur est un chemin-URL (codé-%) qui est affiché si une + tentative précédente d'inclure un fichier ou un attribut virtuel a + échoué. Pour produire son effet, cet attribut doit être spécifié + après le fichier ou les attributs virtuels concernés. Si la + tentative d'inclure le chemin onerror échoue, ou si onerror n'est + pas spécifié, c'est le message d'erreur par défaut qui sera + inclus.

+ +

+ # Exemple simple
+ <!--#include virtual="/not-exist.html" onerror="/error.html" --> +

+ +

+ # Chemins onerror dédiés
+ <!--#include virtual="/path-a.html" onerror="/error-a.html" virtual="/path-b.html" onerror="/error-b.html" --> +

+ +
+
+ + +

L'élément printenv

+

Cette commande affiche la liste en mode texte de toutes les variables et de + leurs valeurs. Les caractères spéciaux sont encodés entity avant + d'être affichés (se reporter à l'élément echo pour plus de détails). Cette + commande ne comporte pas d'attributs.

+ +

Exemple

+ <pre> + <!--#printenv --> + </pre> +

+ + +

L'élément set

+

Cette commande permet de définir la valeur d'une variable. Les + attributs sont :

+ +
+
var
+
Le nom de la variable à définir.
+ +
value
+
La valeur à affecter à la variable.
+
decoding
+

Spécifie si Apache doit effectuer un décodage dans la + variable avant son traitement ultérieur. La valeur par défaut est + none, et dans ce cas, aucun décodage n'est effectué. + Si la valeur est url, urlencoded, + base64 ou + entity, c'est un décodage de type URL, + application/x-www-form-urlencoded, base64 ou + entité HTML qui sera respectivement effectué. Il est possible + d'effectuer plusieurs décodages en + spécifiant plusieurs valeurs séparées par des virgules. Les + spécifications de décodages restent valables jusqu'au prochain + attribut de décodage, ou la fin de l'élément. Pour être pris en + compte, l'attribut de décodage + doit précéder l'attribut var correspondant.

+
+ +
encoding
+

Spécifie la manière dont Apache va encoder les caractères + spéciaux que la variable contient avant leur affichage. S'il est + défini à none, aucun encodage ne sera effectué. Si la + valeur est url, urlencoding, + base64 ou + entity, c'est un encodage de type URL, + application/x-www-form-urlencoded, base64 ou + entité HTML qui sera respectivement effectué. Il est possible de + spécifier plusieurs types d'encodage en les séparant par des + virgules. La spécification du type d'encodage fera effet + jusqu'à la définition d'un nouvel attribut encoding + ou la fin de l'élément. Pour produire son effet, l'attribut encoding doit + précéder l'attribut var concerné. Les encodages sont + effectués après les opérations de décodage.

+
+ +
+ +

Exemple

+ <!--#set var="category" value="help" --> +

+ +
top
+
+

Variables include

+ + +

À l'instar des variables de l'environnement CGI standard, ces + variables sont mises à la disposition de la commande + echo, des opérateurs conditionnels if et + elif, et de tout programme invoqué par le document.

+ +
+
DATE_GMT
+
La date GMT (Greenwich Mean Time) courante.
+ +
DATE_LOCAL
+
La date locale courante.
+ +
DOCUMENT_ARGS
+
Cette variable contient la chaîne de paramètres de la requête du + document SSI actif, ou la chaîne vide si aucune chaîne de paramètres de + requête n'est incluse. Pour les sous-requêtes invoquées par la directive + SSI include, QUERY_STRING contiendra la chaîne + de paramètres de la sous-requête et DOCUMENT_ARGS la chaîne + de paramètres du document SSI (disponible à partir de la version 2.4.19 du + serveur HTTP Apache).
+ +
DOCUMENT_NAME
+
Le nom de base du fichier demandé par l'utilisateur (sans son + chemin).
+ +
DOCUMENT_URI
+
Le chemin URL (caractères % décodés) du document demandé par + l'utilisateur. Notez que dans le cas d'inclusions de fichiers + imbriquées, il ne s'agit pas de l'URL du document + courant. Notez également que si l'URL est modifiée en interne (par + exemple via une directive alias ou directoryindex), c'est l'URL modifiée + que contiendra la variable.
+ +
LAST_MODIFIED
+
La date de dernière modification du document demandé par + l'utilisateur.
+ +
QUERY_STRING_UNESCAPED
+
Si une chaîne d'arguments est présente dans la requête pour le + document SSI actif, elle sera affectée à + cette variable, les caractères %-décodés, et éventuellement + échappés pour qu'ils ne soient pas interprétés par le + shell (les caractères spéciaux comme &,etc... + sont précédés d'anti-slashes). Cette variable n'est pas définie si aucune + chaîne d'arguments n'est présente. Utilisez DOCUMENT_ARGS si + l'échappement des caractères du shell n'est pas souhaité.
+
+
top
+
+

Substitution de variable

+ +

Une substitution de variable à l'intérieur d'une chaîne entre + guillemets s'effectue dans la plupart des situations où cette + dernière peut raisonablement constituer un argument d'une directive + SSI. Sont concernées les directives config, + exec, flastmod, fsize, + include, echo, et set. Si la + directive SSILegacyExprParser est définie à + on, la substitution s'effectue aussi dans les arguments + des opérateurs conditionnels. Vous pouvez insérer + un signe dollar en tant que caractère littéral dans une chaîne en + utilisant un anti-slash :

+ +

+ <!--#set var="cur" value="\$test" --> +

+ +

Si une référence de variable doit être substituée au beau milieu + d'une séquence de caractères qui pourrait être elle-même considérée + comme un identifiant valide, l'ambiguïté peut être levée en + entourant la référence d'accolades, à la manière du shell :

+ +

+ <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" --> +

+ +

Dans cet exemple, la variable Zed se verra affecter + la valeur "X_Y" si REMOTE_HOST et + REQUEST_METHOD contiennent respectivement + "X" et "Y".

+ +
top
+
+

Eléments de contrôle d'inclusion conditionnelle

+ + +

Les éléments de base du contrôle d'inclusion conditionnelle sont + :

+ +

+ <!--#if expr="test_condition" -->
+ <!--#elif expr="test_condition" -->
+ <!--#else -->
+ <!--#endif --> +

+ +

L'élément if fonctionne de la même manière que + la directive if d'un langage de programmation. La condition est + évaluée et si le résultat est vrai, le texte qui suit jusqu'au + prochain élément elif, else ou + endif sera inclus dans le flux de sortie.

+ +

Les éléments elif ou else permettent + d'insérer du texte dans le flux de sortie si + test_condition s'est révélé faux. Ces éléments sont + optionnels.

+ +

L'élément endif termine le bloc de traitement + conditionnel if et est obligatoire.

+ +

test_condition est une expression booléenne qui + emprunte la syntaxe ap_expr. La directive + SSILegacyExprParser + permet de modifier cette syntaxe pour la rendre compatible avec + Apache HTTPD 2.2.x.

+ +

Le jeu de variables SSI avec l'élément var sont + exportées vers l'environnement de la requête et sont accessibles via + la fonction reqenv. Pour faire simple, le nom de + fonction v est aussi disponible dans le module + mod_include.

+ +

Dans l'exemple suivant, "depuis le réseau local" sera affiché si + l'adresse IP du client appartient au sous-réseau 10.0.0.0/8.

+ +

+ <!--#if expr='-R "10.0.0.0/8"' -->
+ + depuis le réseau local
+
+ <!--#else -->
+ + depuis ailleurs
+
+ <!--#endif --> +

+ +

Dans l'exemple suivant, "foo vaut bar" sera affiché si la variable + foo contient la valeur "bar".

+ +

+ <!--#if expr='v("foo") = "bar"' -->
+ + foo vaut bar
+
+ <!--#endif --> +

+ +

Documentation de référence

+

Voir aussi Les expressions dans le serveur + HTTP Apache pour une référence complète et des exemples. Les + fonctions restricted ne sont pas disponibles dans + mod_include.

+
+
top
+
+

Syntaxe des expressions héritée

+ + +

Cette section décrit la syntaxe de l'élément #if + expr dans le cas où la directive SSILegacyExprParser est définie à + on.

+ +
+
chaîne
+
vrai si chaîne n'est pas vide
+ +
-A string
+

vrai si l'URL que contient la chaîne est accessible du + point de vue de la configuration, faux sinon. Il + s'avère utile lorsqu'un lien vers une URL doit être caché aux + utilisateurs qui ne sont pas autorisés à voir cette URL. Notez que + le test porte sur l'autorisation d'accès à l'URL, et non sur son + existence.

+ +

Exemple

+ <!--#if expr="-A /prive" -->
+ + Cliquez <a href="/prive">ici</a> pour accéder aux + informations privées.
+
+ <!--#endif --> +

+
+ +
chaîne1 = chaîne2
+ chaîne1 == chaîne2
+ chaîne1 != chaîne2
+ +

Compare chaîne1 à chaîne2. Si + chaîne2 est de la forme + /chaîne2/, elle est traitée comme une + expression rationnelle. Les expressions rationnelles sont + implémentées par le moteur PCRE + et possèdent la même syntaxe que celles de perl 5. Notez que == + n'est qu'un alias pour = et se comporte exactement de + la même manière que ce dernier.

+ +

Si vous faites une comparaison directe (= ou + ==), vous pouvez extraire des parties de l'expression + rationnelle. Les parties extraites sont stockées dans les + variables spéciales $1 .. $9. L'ensemble + de la chaîne correspondant à l'expression rationnelle est stocké + dans la variable spéciale $0.

+ +

Exemple

+ <!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" -->
+ + <!--#set var="session" value="$1" -->
+
+ <!--#endif --> +

+
+ +
chaîne1 < chaîne2
+ chaîne1 <= chaîne2
+ chaîne1 > chaîne2
+ chaîne1 >= chaîne2
+ +
Compare chaîne1 à chaîne2. Notez que les + chaînes sont comparées de manière littérale (en utilisant + strcmp(3)). Ainsi, la chaîne "100" est inférieure à + "20".
+ +
( test_condition )
+
vrai si test_condition est vrai
+ +
! test_condition
+
vrai si test_condition est faux
+ +
test_condition1 && + test_condition2
+
vrai si test_condition1 et + test_condition2 sont tous les deux vrais
+ +
test_condition1 || + test_condition2
+
vrai si au moins un des tests test_condition1 ou + test_condition2 est vrai
+
+ +

"=" et "!=" ont une priorité supérieure + à "&&" et "||". "!" a + la priorité la plus haute. Ainsi, les deux directives suivantes sont + équivalentes :

+ +

+ <!--#if expr="$a = test1 && $b = test2" -->
+ <!--#if expr="($a = test1) && ($b = test2)" --> +

+ +

Les opérateurs booléens && et + || ont la même priorité. Ainsi, si vous voulez + augmenter la priorité d'un de ces opérateurs, vous devez utiliser + des parenthèses.

+ +

Tout ce qui n'est pas reconnu comme variable ou opérateur est + traité comme une chaîne. Les chaînes peuvent aussi être entourées + d'apostrophes : 'chaîne'. Les chaînes sans apostrophe + ne peuvent pas contenir d'espaces (espaces ou tabulations) car + ceux-ci servent à séparer certains éléments comme les variables. Si + plusieurs chaînes se trouvent dans une ligne, elles sont concaténées + en utilisant des espaces. Ainsi,

+ +

chaîne1    chaîne2 devient chaîne1 chaîne2
+
+ et
+
+ 'chaîne1    chaîne2' devient chaîne1    chaîne2.

+ +

Optimisation des expressions booléennes

+

Si les expressions atteignent une complexité suffisante pour + ralentir les traitements de manière significative, vous pouvez + essayer de les optimiser en fonction des règles d'évaluation :

+
    +
  • Les expressions sont évaluées de la gauche vers la droite
  • +
  • Les opérateurs booléens binaires (&& et + ||) font l'objet d'une évaluation abrégée chaque fois + que cela est possible. En d'autres termes, et selon la règle + ci-dessus, mod_include évalue tout d'abord la + partie gauche de l'expression. Si le résultat de l'évaluation de + cette partie gauche suffit à déterminer le résultat final, + l'évaluation s'arrête ici. Dans le cas contraire, la partie droite + est évaluée, et le résultat final tient compte des résultats des + évaluations des parties gauche et droite.
  • +
  • L'évaluation abrégée est désactivée tant qu'il reste des + expressions régulières à traiter. Ces dernières doivent être + évaluées afin de définir les variables correspondant aux + références arrières ($1 .. $9).
  • +
+

Si vous voulez déterminer la manière dont une expression est + traitée, vous pouvez recompiler mod_include en + utilisant l'option de compilation -DDEBUG_INCLUDE. + Ceci a pour effet d'insérer, pour chaque expression interprétée, + des informations étiquetées, l'arbre d'interprétation et la + manière dont elle est évaluée au sein du flux de sortie envoyé au + client.

+
+ +

Slashes d'échappement dans les expressions + rationnelles

+

Tous les caractères slashes qui ne sont pas des séparateurs dans + votre expression rationnelle doivent être échappés, et ceci sans + tenir compte de leur signification du point de vue du moteur + d'expressions rationnelles.

+
+ +

Documentation de référence

+

Voir le document Les expressions dans le + serveur HTTP Apache, pour une référence complète et des exemples.

+
+ + +
+
top
+

Directive SSIEndTag

+ + + + + + + +
Description:Chaîne qui termine l'élément include
Syntaxe:SSIEndTag tag
Défaut:SSIEndTag "-->"
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_include
+

Cette directive permet de modifier la chaîne que + mod_include interprète comme la fin d'un élément + include.

+ +
SSIEndTag "%>"
+ + + +

Voir aussi

+ +
+
top
+

Directive SSIErrorMsg

+ + + + + + + + +
Description:Message d'erreur affiché lorsqu'une erreur SSI +survient
Syntaxe:SSIErrorMsg message
Défaut:SSIErrorMsg "[an error occurred while processing this +directive]"
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:All
Statut:Base
Module:mod_include
+

La directive SSIErrorMsg permet de + modifier le message d'erreur affiché lorsqu'une erreur SSI survient. + Pour les serveurs en production, il est recommandé de modifier le + message d'erreur par défaut en "<!-- Error + -->", de façon à ce que le message ne soit pas + présenté à l'utilisateur.

+ +

Cette directive a le même effet que l'élément + <!--#config errmsg=message -->.

+ +
SSIErrorMsg "<!-- Error -->"
+ + +
+
top
+

Directive SSIETag

+ + + + + + + +
Description:Définit si des en-têtes ETags sont générés par le serveur.
Syntaxe:SSIETag on|off
Défaut:SSIETag off
Contexte:répertoire, .htaccess
Statut:Base
Module:mod_include
+

Dans le cas général, un fichier filtré par + mod_include peut contenir des éléments soit + générés dynamiquement, soit éventuellement modifiés indépendemment + du fichier original. En conséquence, il est demandé par défaut au + serveur de ne pas générer d'en-tête ETag à la réponse + en ajoutant no-etag aux informations de requête.

+ +

Ce comportement peut être modifié via la directive + SSIETag qui permet au serveur de générer un + en-tête ETag. On peut aussi l'utiliser pour la mise + en cache de la sortie. Notez qu'un serveur d'arrière-plan ou un + générateur de contenu dynamique peut lui-même générer un en-tête + ETag, en ignorant l'information no-etag, + cet en-tête ETag étant transmis par + mod_include sans tenir compte de la définition de + la présente directive. La directive SSIETag + peut prendre une des valeurs suivantes :

+ +
+ +
off
+
no-etag sera ajouté aux informations de + requête, et il sera demandé au serveur de ne pas générer + d'en-tête ETag. Lorsqu'un serveur ignore la valeur + de no-etag et génère tout de même un en-tête + ETag, ce dernier sera respecté.
+ +
on
+
Les en-têtes ETag existants seront respectés, + et ceux générés par le serveur seront ajoutés à la réponse.
+ +
+ + +
+
top
+

Directive SSILastModified

+ + + + + + + +
Description:Définit si des en-têtes Last-Modified sont +générés par le serveur.
Syntaxe:SSILastModified on|off
Défaut:SSILastModified off
Contexte:répertoire, .htaccess
Statut:Base
Module:mod_include
+

Dans le cas général, un fichier filtré par + mod_include peut contenir des éléments soit + générés dynamiquement, soit éventuellement modifiés indépendemment + du fichier original. En conséquence, l'en-tête + Last-Modified est supprimé par défaut de la réponse.

+ +

La directive SSILastModified permet de + modifier ce comportement en faisant en sorte que l'en-tête + Last-Modified soit respecté s'il est déjà présent, ou + défini dans le cas contraire. On peut aussi l'utiliser pour la mise + en cache de la sortie. La directive + SSILastModified peut prendre une des + valeurs suivantes :

+ +
+ +
off
+
L'en-tête Last-Modified sera supprimé des + réponses, à moins que la directive XBitHack ne soit définie à + full comme décrit plus loin.
+ +
on
+
L'en-tête Last-Modified sera respecté s'il est + déjà présent, et ajouté à la réponse si cette dernière est un + fichier et si l'en-tête est manquant. La directive SSILastModified l'emporte sur + la directive XBitHack.
+ +
+ + +
+
top
+

Directive SSILegacyExprParser

+ + + + + + + + +
Description:Active le mode de compatibilité pour les expressions +conditionnelles.
Syntaxe:SSILegacyExprParser on|off
Défaut:SSILegacyExprParser off
Contexte:répertoire, .htaccess
Statut:Base
Module:mod_include
Compatibilité:Disponible à partir de la version 2.3.13.
+

Depuis la version 2.3.13, mod_include a adopté + la nouvelle syntaxe ap_expr pour ses + expressions conditionnelles dans les éléments de contrôle de flux + #if. Cette directive permet de réactiver l'ancienne syntaxe qui est compatible avec les + versions 2.2.x et antérieures d'Apache HTTPD. +

+ +
+
top
+

Directive SSIStartTag

+ + + + + + + +
Description:Chaîne qui marque le début d'un élément +include
Syntaxe:SSIStartTag tag
Défaut:SSIStartTag "<!--#"
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_include
+

Cette directive permet de modifier la chaîne que + mod_include interprète comme le début d'un élément + include.

+ +

Cette option peut vous être utile si vous avez deux serveurs qui + interprètent un fichier avec des commandes différentes (et + éventuellement à des moments différents).

+ +
SSIStartTag "<%"
+SSIEndTag   "%>"
+ + +

Avec l'exemple ci-dessus, qui définit aussi une directive + SSIEndTag, vous pourrez + inscrire des directives SSI comme dans l'exemple suivant :

+ +

Directives SSI avec marques de début et de fin + personnalisées

+ <%printenv %> +

+ +

Voir aussi

+ +
+
top
+

Directive SSITimeFormat

+ + + + + + + + +
Description:Configuration du format d'affichage des dates
Syntaxe:SSITimeFormat chaîne de formatage
Défaut:SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:All
Statut:Base
Module:mod_include
+

Cette directive permet de modifier le format d'affichage des +variables d'environnement DATE. La chaîne de +formatage est identique à celle de la fonction +strftime(3) de la bibliothèque C standard.

+ +

Cette directive a le même effet que l'élément + <!--#config timefmt=chaîne de formatage + -->.

+ +
SSITimeFormat "%R, %B %d, %Y"
+ + +

Avec l'exemple ci-dessus, les dates seront affichées dans le + style "22:26, June 14, 2002".

+ +
+
top
+

Directive SSIUndefinedEcho

+ + + + + + + + +
Description:Chaîne à afficher lorsqu'on tente d'extraire le contenu +d'une variable non définie
Syntaxe:SSIUndefinedEcho chaîne
Défaut:SSIUndefinedEcho "(none)"
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:All
Statut:Base
Module:mod_include
+

Cette directive permet de modifier la chaîne affichée par + mod_include lorsqu'on tente d'extraire le contenu + d'une variable non définie.

+ +
SSIUndefinedEcho "<!-- nondef -->"
+ + +
+
top
+

Directive XBitHack

+ + + + + + + + +
Description:Interprète les directives SSI dans les fichiers dont le bit +d'exécution est positionné
Syntaxe:XBitHack on|off|full
Défaut:XBitHack off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:Options
Statut:Base
Module:mod_include
+

La directive XBitHack permet de contrôler + l'interprétation des documents html standards. Elle n'affecte que + les fichiers dont le type MIME est + text/html. XBitHack peut prendre + les valeurs suivantes :

+ +
+
off
+
Aucun traitement particulier pour les fichiers + exécutables.
+ +
on
+
Tout fichier text/html dont le bit d'exécution + est positionné pour le propriétaire sera traité en tant que + document html interprété par le serveur.
+ +
full
+
Identique à on, avec test du bit d'exécution pour + le groupe. Si ce dernier est positionné, la date de dernière + modification du fichier renvoyé est définie à la date de + dernière modification du fichier. Dans le cas contraire, aucune + date de dernière modification n'est renvoyée. Le positionnement de + ce bit permet aux clients et aux mandataires de gérer la mise en + cache du résultat de la requête. + +

Note

+

Il est recommandé de n'utiliser l'option full que dans le cas + où vous êtes certain que le bit d'exécution du groupe est non + positionné pour les scripts SSI qui pourraient effectuer l'#include d'un programme CGI ou bien produire des sorties + différentes à chaque accès (ou seraient susceptibles d'être + modifiées au cours des requêtes ultérieures).

+ +

Lorsqu'elle est définie à on, la directive + SSILastModified + l'emporte sur la directive XBitHack.

+
+ +
+
+ + +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_include.xml.fr b/docs/manual/mod/mod_include.xml.fr new file mode 100644 index 0000000000..5089c0dc4a --- /dev/null +++ b/docs/manual/mod/mod_include.xml.fr @@ -0,0 +1,1199 @@ + + + + + + + + + + + +mod_include +Documents html interprétés par le serveur (Server Side +Includes ou SSI) +Base +mod_include.c +include_module + + +

Ce module fournit un filtre qui va traiter les fichiers avant + de les envoyer au client. Le traitement est contrôlé via des + commentaires SGML spécialement formatés, aussi nommés + éléments. Ces éléments permettent l'insertion + conditionnelle de texte, l'inclusion d'autres fichiers ou + programmes, ainsi que la définition et l'affichage de variables + d'environnement.

+
+Options +AcceptPathInfo +Les filtres +Tutoriel SSI + +
+ Activation des SSI + +

Les SSI sont implémentés par le filtre INCLUDES. Si des + documents contenant des directives SSI possèdent une extension + .shtml, les directives suivantes indiqueront à Apache de les + interpréter et d'assigner le type MIME + text/html au document obtenu :

+ + +AddType text/html .shtml +AddOutputFilter INCLUDES .shtml + + +

L'option suivante doit être définie pour les répertoires qui + contiennent les fichiers shtml (en général dans une section + Directory, mais + cette option peut également être définie dans un fichier + .htaccess si AllowOverride Options a été défini pour le + répertoire considéré) :

+ + + Options +Includes + + +

Pour des raisons de compatibilité ascendante, le gestionnaire server-parsed + peut aussi activer le filtre INCLUDES. Ainsi, Apache va activer le + filtre INCLUDES pour tout document de type MIME + text/x-server-parsed-html ou + text/x-server-parsed-html3 (et le document obtenu aura + pour type MIME text/html).

+ +

Pour plus d'informations, voyez notre Tutoriel SSI.

+
+ +
+ PATH_INFO et SSI + +

Les fichiers traités dans le cadre des SSI n'acceptent plus par + défaut les requêtes avec PATH_INFO (les informations + relatives au chemin en fin de requête). La directive AcceptPathInfo permet de configurer le + serveur de façon à ce qu'il accepte ce genre de requête.

+
+ +
Eléments disponibles +

Le document est interprété comme un document HTML, avec des + commandes spéciales incluses sous forme de commentaires SGML. La + syntaxe d'une commande est la suivante :

+ + + <!--#élément attribut=valeur + attribut=valeur ... --> + + +

Les valeurs sont souvent entourées de guillemets, mais on peut + aussi utiliser des apostrophes (') ou des apostrophes + inverses (`). De nombreuses commandes n'acceptent + qu'une seule paire attribut-valeur. Notez que le terminateur de + commentaire (-->) doit être précédé d'un espace afin + d'être sûr qu'il ne soit pas considéré comme un élément de commande + SSI. Notez aussi que le délimiteur de début <!--# + est un élément de commande et ne doit donc pas contenir + d'espace.

+ +

La table suivante contient la liste des éléments autorisés :

+ + + + + + + + + + + + + + + + + + + + + +
ElémentDescription
commentcommentaire SSI
configconfigure les formats de sortie
echoaffiche le contenu de variables
execexécute des programmes externes
fsizeaffiche la taille d'un fichier
flastmodaffiche la date de dernière modification d'un fichier
includeinclut un fichier
printenvaffiche toutes les variables disponibles
setdéfinit la valeur d'une variable
+ +

Les éléments SSI peuvent être définis par d'autres modules que + mod_include. À ce titre, l'élément exec est fourni par + mod_cgi, et ne sera disponible que si ce module est + chargé.

+ +
L'élément comment +

Cette commande n'affiche aucune information. Elle n'a pour but que + l'ajout de commentaires dans un fichier et ces commentaires ne sont pas + affichés.

+ +

Cette syntaxe est disponible à partir de la version 2.5 du serveur + HTTP Apache.

+ + + <!--#comment Blah Blah Blah --> + +
+ +
L'élément config +

Cette commande contrôle divers aspects de l'interprétation. Les + attributs valides sont :

+ +
+
echomsg (Versions 2.1 et supérieures + d'Apache)
+

La valeur est un message qui sera envoyé au client si + l'élément echo tente + d'afficher le contenu d'une variable non définie. Cet attribut + l'emporte sur toute directive SSIUndefinedEcho.

+ + + <!--#config echomsg="[Valeur non définie]" --> + + +
+ +
errmsg
+

La valeur est un message qui sera envoyé au client si une + erreur survient lors de l'interprétation du document. Cet attribut + l'emporte sur toute directive SSIErrorMsg.

+ + + <!--#config errmsg="[Zut, quelque chose s'est mal passé.]" --> + + +
+ +
sizefmt
+

La valeur définit l'unité employée lors de l'affichage de la + taille d'un fichier. Les valeurs possibles sont bytes + pour une taille en octets, ou abbrev pour une taille + en Ko ou Mo selon son importance ; par exemple, une taille de 1024 + octets sera affichée sous la forme "1K".

+ + + <!--#config sizefmt="abbrev" --> + + +
+ +
timefmt
+

La valeur est une chaîne que pourra utiliser la fonction de la + bibliothèque standard strftime(3) lors de l'affichage + des dates.

+ + + <!--#config timefmt=""%R, %B %d, %Y"" --> + + +
+ +
+
+ +
L'élément echo +

Cette commande affiche le contenu d'une des variables include définies ci-dessous. Si + la variable n'est pas définie, le résultat est déterminé par la + valeur de la directive SSIUndefinedEcho. Le format d'affichage des dates est + défini par l'attribut timefmt de la commande + config.

+ +

Attributs:

+ +
+
var
+
La valeur est le nom de la variable à afficher.
+ +
decoding
+

Spécifie si Apache doit effectuer un décodage dans la + variable avant son traitement ultérieur. La valeur par défaut est + none, et dans ce cas, aucun décodage n'est effectué. + Si la valeur est url, un décodage de type URL sera + effectué (il s'agit du codage de type %-encoding utilisé dans les + URLs des liens, etc...). Si la valeur est urlencoded, + c'est un décodage des éléments de type + application/x-www-form-urlencode (que l'on trouve dans les chaînes + de paramètres) qui sera effectué. Si la valeur est + base64, un + decodage de type base64 sera effectué, et si elle est + entity, c'est un décodage des entités HTML qui sera + effectué. Ce décodage est effectué avant tout codage ultérieur de + la variable. Il est possible d'effectuer plusieurs décodages en + spécifiant plusieurs valeurs séparées par des virgules. Les + spécifications de décodages restent valables jusqu'au prochain + attribut de décodage, ou la fin de l'élément.

+ +

Pour être pris en compte, l'attribut de décodage + doit précéder l'attribut var correspondant.

+
+ +
encoding
+

Spécifie la manière dont Apache va coder les caractères + spéciaux que la variable contient avant leur affichage. S'il est + défini à none, aucun codage ne sera effectué. S'il + est défini à url, un codage de type URL sera effectué + (aussi connu sous le nom de codage avec caractères % , il convient + pour les URLS des liens, etc...). S'il est défini à + urlencoded, c'est un codage compatible + application/x-www-form-urlencoded qui sera effectué (à utiliser + dans les chaînes de paramètres). S'il est défini à + base64, c'est un encodage de type base64 qui sera + effectué. Au début d'un élément + echo, la valeur par défaut est définie à + entity, ce qui correspond à un codage de type entité + (codage qui convient pour un élément HTML de type bloc, comme le + paragraphe d'un texte). Cette valeur par défaut peut être modifiée + en ajoutant un attribut encoding, qui fera effet + jusqu'à la définition d'un nouvel attribut encoding + ou la fin de l'élément echo.

+ +

Pour produire son effet, l'attribut encoding doit + précéder l'attribut var concerné.

+ + + Afin de prévenir les attaques de type cross-site scripting, il + est recommandé de toujours encoder les données fournies + par les utilisateurs. + + + Example + <!--#echo encoding="entity" var="QUERY_STRING" --> + +
+
+
+ +
L'élément exec +

La commande exec exécute la commande shell ou le + script spécifié. Elle nécessite le chargement du module + mod_cgi. Si Options IncludesNOEXEC est + définie, cette commande est désactivée. Les attributs disponibles + sont :

+ +
+
cgi
+

La valeur spécifie un chemin URL vers le script CGI (encodé + avec caractères %). Si le chemin ne commence pas par un slash (/), + il est considéré comme relatif au document courant. Le document + référencé par ce chemin est invoqué en tant que script CGI, même + s'il n'est pas censé être reconnu comme tel par le serveur. Les + scripts CGI doivent cependant être activés dans le répertoire qui + contient les scripts (via la directive ScriptAlias ou l'Options ExecCGI).

+ +

Le PATH_INFO et la chaîne d'arguments + (QUERY_STRING) de la requête originale du client sont + fournis au script CGI ; ils ne peuvent pas être spécifiés + dans le chemin de l'URL. Le script disposera des variables include + en plus de l'environnement standard CGI.

+ + Exemple + <!--#exec cgi="/cgi-bin/exemple.cgi" --> + + +

Si, à la place d'un flux de sortie, le script renvoie un + en-tête Location:, ce dernier sera traduit en ancrage + HTML.

+ +

L'élément include + virtual doit être préféré à exec cgi. En + particulier, si vous devez transmettre des arguments + supplémentaires à un programme CGI en utilisant la chaîne + d'arguments de la requête, c'est impossible avec exec + cgi, mais vous pouvez y parvenir avec include + virtual comme suit :

+ + + <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" --> + +
+ +
cmd
+

Le serveur va exécuter la commande fournie en utilisant + /bin/sh. La commande dispose des variables include, en plus du jeu habituel + de variables CGI.

+ +

Il est toujours préférable d'utiliser #include virtual à la place de + #exec cgi ou #exec cmd. #include + virtual utilise le mécanisme standard des sous-requêtes + d'Apache pour inclure des fichiers ou des scripts. Il a fait + l'objet de tests plus approfondis et sa maintenance est mieux + suivie.

+ +

De plus, sur certaines plate-formes, comme Win32, et sous unix, + si l'on utilise suexec, il est + impossible de transmettre des arguments à une commande dans une + directive exec, à moins d'insérer des espaces dans la + commande. Ainsi, alors que ce qui suit fonctionnera sous unix avec + une configuration sans suexec, l'effet produit ne sera pas celui + désiré sous Win32, ou dans le cas de l'utilisation de suexec + :

+ + + <!--#exec cmd="perl /chemin/vers/script_perl arg1 arg2" --> + +
+
+
+ +
L'élément fsize +

Cette commande permet d'afficher la taille du fichier spécifié + en fonction des spécifications de format de sizefmt. + Attributs :

+ +
+
file
+
La valeur est le chemin du fichier, relatif au répertoire + contenant le document en cours d'interprétation. + + + Ce fichier a une taille de <!--#fsize file="mod_include.html" + --> octets. + + + La valeur de file ne peut pas faire référence à un + fichier situé à un niveau supérieur de l'arborescence du répertoire + courant ou en dehors de la racine des documents ; il ne peut donc + ni commencer par un slash, ni contenir la séquence de caractères + ../. Si c'est le cas, le message d'erreur The + given path was above the root path sera renvoyé. +
+ +
virtual
+
La valeur est un chemin URL (codé avec caractères %). S'il ne + commence pas par un slash (/), il est considéré comme relatif au + document courant. Notez que cette commande n'affiche pas + la taille de la sortie d'un programme CGI, mais la taille du + programme CGI lui-même.
+
+ + + Ce fichier a une taille de <!--#fsize + virtual="/docs/mod/mod_include.html" --> octets. + + +

Notez que dans la plupart des cas, ces deux attributs sont + identiques. Cependant, l'attribut file ne respecte + pas les aliases URL-space.

+
+ +
L'élément flastmod +

Cette commande permet d'afficher la date de dernière + modification du fichier spécifié, en fonction des spécifications + de format de timefmt. Les attributs sont les mêmes + que ceux de la commande fsize.

+
+ +
L'élément include +

Cette commande permet d'insérer le texte d'un autre document ou + fichier dans le fichier en cours d'interprétation. Tout fichier + inclus est soumis au contrôle d'accès habituel. Si Options IncludesNOEXEC + est défini pour le répertoire contenant le fichier + interprété, seuls les documents possèdant un + type MIME de type texte + (text/plain, text/html, etc...) seront + inclus. Les scripts CGI, quant à eux, sont invoqués de manière + habituelle en utilisant l'URL complète fournie avec la commande, y + compris toute chaîne d'arguments éventuelle.

+ +

Un attribut définit le chemin du document à inclure, et peut + apparaître plusieurs fois dans l'élément à inclure ; en retour, pour + chaque attribut fourni à la commande include, une inclusion est + effectuée. Les attributs disponibles sont :

+ +
+
file
+
La valeur est un chemin relatif au répertoire contenant le + fichier en cours d'interprétation. Elle ne peut ni contenir + ../, ni être un chemin absolu. Ainsi, vous ne pouvez + pas inclure de fichiers situés en dehors de l'arborescence du + site web ou dans un niveau supérieur à celui du fichier courant + dans cette arborescence. Il est toujours préférable d'utiliser + l'attribut virtual.
+ +
virtual
+

La valeur est un chemin URL (codé avec caractères %). L'URL + ne peut contenir qu'un chemin et une chaîne d'arguments + éventuelle, à l'exclusion de tout protocole ou nom d'hôte. S'il ne + commence pas par un slash (/), il est considéré comme relatif au + document courant.

+ +

Une URL est construite à partir de l'attribut, et la sortie que + renverrait le serveur si l'URL était accédée par le client est + incluse dans la sortie interprétée. Les inclusions de fichiers + peuvent ainsi être imbriquées.

+ +

Si l'URL spécifiée correspond à un programme CGI, le programme + sera exécuté, et son flux de sortie inséré à la place de la + directive dans le fichier interprété. Vous pouvez insérer une + chaîne d'arguments dans une URL correspond à un programme CGI + :

+ + + <!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" --> + + +

include virtual doit être préféré à exec + cgi pour inclure le flux de sortie d'un programme CGI dans + un document HTML.

+ +

Si la directive KeptBodySize est correctement + définie et valide pour le fichier inclus, les tentatives de + requêtes POST vers le document HTML qui inclut des fichiers seront + transmises aux sous-requêtes en tant que requêtes POST + elles-mêmes. Sans cette directive, toutes les sous-requêtes sont + traitées en tant que requêtes GET.

+ +
+ +
onerror
+

La valeur est un chemin-URL (codé-%) qui est affiché si une + tentative précédente d'inclure un fichier ou un attribut virtuel a + échoué. Pour produire son effet, cet attribut doit être spécifié + après le fichier ou les attributs virtuels concernés. Si la + tentative d'inclure le chemin onerror échoue, ou si onerror n'est + pas spécifié, c'est le message d'erreur par défaut qui sera + inclus.

+ + + # Exemple simple
+ <!--#include virtual="/not-exist.html" onerror="/error.html" --> +
+ + + # Chemins onerror dédiés
+ <!--#include virtual="/path-a.html" onerror="/error-a.html" virtual="/path-b.html" onerror="/error-b.html" --> +
+ +
+
+
+ +
L'élément printenv +

Cette commande affiche la liste en mode texte de toutes les variables et de + leurs valeurs. Les caractères spéciaux sont encodés entity avant + d'être affichés (se reporter à l'élément echo pour plus de détails). Cette + commande ne comporte pas d'attributs.

+ + Exemple + <pre> + <!--#printenv --> + </pre> + +
+ +
L'élément set +

Cette commande permet de définir la valeur d'une variable. Les + attributs sont :

+ +
+
var
+
Le nom de la variable à définir.
+ +
value
+
La valeur à affecter à la variable.
+
decoding
+

Spécifie si Apache doit effectuer un décodage dans la + variable avant son traitement ultérieur. La valeur par défaut est + none, et dans ce cas, aucun décodage n'est effectué. + Si la valeur est url, urlencoded, + base64 ou + entity, c'est un décodage de type URL, + application/x-www-form-urlencoded, base64 ou + entité HTML qui sera respectivement effectué. Il est possible + d'effectuer plusieurs décodages en + spécifiant plusieurs valeurs séparées par des virgules. Les + spécifications de décodages restent valables jusqu'au prochain + attribut de décodage, ou la fin de l'élément. Pour être pris en + compte, l'attribut de décodage + doit précéder l'attribut var correspondant.

+
+ +
encoding
+

Spécifie la manière dont Apache va encoder les caractères + spéciaux que la variable contient avant leur affichage. S'il est + défini à none, aucun encodage ne sera effectué. Si la + valeur est url, urlencoding, + base64 ou + entity, c'est un encodage de type URL, + application/x-www-form-urlencoded, base64 ou + entité HTML qui sera respectivement effectué. Il est possible de + spécifier plusieurs types d'encodage en les séparant par des + virgules. La spécification du type d'encodage fera effet + jusqu'à la définition d'un nouvel attribut encoding + ou la fin de l'élément. Pour produire son effet, l'attribut encoding doit + précéder l'attribut var concerné. Les encodages sont + effectués après les opérations de décodage.

+
+ +
+ + Exemple + <!--#set var="category" value="help" --> + +
+
+ +
+ Variables include + +

À l'instar des variables de l'environnement CGI standard, ces + variables sont mises à la disposition de la commande + echo, des opérateurs conditionnels if et + elif, et de tout programme invoqué par le document.

+ +
+
DATE_GMT
+
La date GMT (Greenwich Mean Time) courante.
+ +
DATE_LOCAL
+
La date locale courante.
+ +
DOCUMENT_ARGS
+
Cette variable contient la chaîne de paramètres de la requête du + document SSI actif, ou la chaîne vide si aucune chaîne de paramètres de + requête n'est incluse. Pour les sous-requêtes invoquées par la directive + SSI include, QUERY_STRING contiendra la chaîne + de paramètres de la sous-requête et DOCUMENT_ARGS la chaîne + de paramètres du document SSI (disponible à partir de la version 2.4.19 du + serveur HTTP Apache).
+ +
DOCUMENT_NAME
+
Le nom de base du fichier demandé par l'utilisateur (sans son + chemin).
+ +
DOCUMENT_URI
+
Le chemin URL (caractères % décodés) du document demandé par + l'utilisateur. Notez que dans le cas d'inclusions de fichiers + imbriquées, il ne s'agit pas de l'URL du document + courant. Notez également que si l'URL est modifiée en interne (par + exemple via une directive alias ou directoryindex), c'est l'URL modifiée + que contiendra la variable.
+ +
LAST_MODIFIED
+
La date de dernière modification du document demandé par + l'utilisateur.
+ +
QUERY_STRING_UNESCAPED
+
Si une chaîne d'arguments est présente dans la requête pour le + document SSI actif, elle sera affectée à + cette variable, les caractères %-décodés, et éventuellement + échappés pour qu'ils ne soient pas interprétés par le + shell (les caractères spéciaux comme &,etc... + sont précédés d'anti-slashes). Cette variable n'est pas définie si aucune + chaîne d'arguments n'est présente. Utilisez DOCUMENT_ARGS si + l'échappement des caractères du shell n'est pas souhaité.
+
+
+ +
Substitution de variable + +

Une substitution de variable à l'intérieur d'une chaîne entre + guillemets s'effectue dans la plupart des situations où cette + dernière peut raisonablement constituer un argument d'une directive + SSI. Sont concernées les directives config, + exec, flastmod, fsize, + include, echo, et set. Si la + directive SSILegacyExprParser est définie à + on, la substitution s'effectue aussi dans les arguments + des opérateurs conditionnels. Vous pouvez insérer + un signe dollar en tant que caractère littéral dans une chaîne en + utilisant un anti-slash :

+ + + <!--#set var="cur" value="\$test" --> + + +

Si une référence de variable doit être substituée au beau milieu + d'une séquence de caractères qui pourrait être elle-même considérée + comme un identifiant valide, l'ambiguïté peut être levée en + entourant la référence d'accolades, à la manière du shell :

+ + + <!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" --> + + +

Dans cet exemple, la variable Zed se verra affecter + la valeur "X_Y" si REMOTE_HOST et + REQUEST_METHOD contiennent respectivement + "X" et "Y".

+ +
+ +
+ Eléments de contrôle d'inclusion conditionnelle + +

Les éléments de base du contrôle d'inclusion conditionnelle sont + :

+ + + <!--#if expr="test_condition" -->
+ <!--#elif expr="test_condition" -->
+ <!--#else -->
+ <!--#endif --> +
+ +

L'élément if fonctionne de la même manière que + la directive if d'un langage de programmation. La condition est + évaluée et si le résultat est vrai, le texte qui suit jusqu'au + prochain élément elif, else ou + endif sera inclus dans le flux de sortie.

+ +

Les éléments elif ou else permettent + d'insérer du texte dans le flux de sortie si + test_condition s'est révélé faux. Ces éléments sont + optionnels.

+ +

L'élément endif termine le bloc de traitement + conditionnel if et est obligatoire.

+ +

test_condition est une expression booléenne qui + emprunte la syntaxe ap_expr. La directive + SSILegacyExprParser + permet de modifier cette syntaxe pour la rendre compatible avec + Apache HTTPD 2.2.x.

+ +

Le jeu de variables SSI avec l'élément var sont + exportées vers l'environnement de la requête et sont accessibles via + la fonction reqenv. Pour faire simple, le nom de + fonction v est aussi disponible dans le module + mod_include.

+ +

Dans l'exemple suivant, "depuis le réseau local" sera affiché si + l'adresse IP du client appartient au sous-réseau 10.0.0.0/8.

+ + + <!--#if expr='-R "10.0.0.0/8"' -->
+ + depuis le réseau local
+
+ <!--#else -->
+ + depuis ailleurs
+
+ <!--#endif --> +
+ +

Dans l'exemple suivant, "foo vaut bar" sera affiché si la variable + foo contient la valeur "bar".

+ + + <!--#if expr='v("foo") = "bar"' -->
+ + foo vaut bar
+
+ <!--#endif --> +
+ + Documentation de référence +

Voir aussi Les expressions dans le serveur + HTTP Apache pour une référence complète et des exemples. Les + fonctions restricted ne sont pas disponibles dans + mod_include.

+
+
+ +
+ Syntaxe des expressions héritée + +

Cette section décrit la syntaxe de l'élément #if + expr dans le cas où la directive SSILegacyExprParser est définie à + on.

+ +
+
chaîne
+
vrai si chaîne n'est pas vide
+ +
-A string
+

vrai si l'URL que contient la chaîne est accessible du + point de vue de la configuration, faux sinon. Il + s'avère utile lorsqu'un lien vers une URL doit être caché aux + utilisateurs qui ne sont pas autorisés à voir cette URL. Notez que + le test porte sur l'autorisation d'accès à l'URL, et non sur son + existence.

+ + Exemple + <!--#if expr="-A /prive" -->
+ + Cliquez <a href="/prive">ici</a> pour accéder aux + informations privées.
+
+ <!--#endif --> +
+
+ +
chaîne1 = chaîne2
+ chaîne1 == chaîne2
+ chaîne1 != chaîne2
+ +

Compare chaîne1 à chaîne2. Si + chaîne2 est de la forme + /chaîne2/, elle est traitée comme une + expression rationnelle. Les expressions rationnelles sont + implémentées par le moteur PCRE + et possèdent la même syntaxe que celles de perl 5. Notez que == + n'est qu'un alias pour = et se comporte exactement de + la même manière que ce dernier.

+ +

Si vous faites une comparaison directe (= ou + ==), vous pouvez extraire des parties de l'expression + rationnelle. Les parties extraites sont stockées dans les + variables spéciales $1 .. $9. L'ensemble + de la chaîne correspondant à l'expression rationnelle est stocké + dans la variable spéciale $0.

+ + Exemple + <!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" -->
+ + <!--#set var="session" value="$1" -->
+
+ <!--#endif --> +
+
+ +
chaîne1 < chaîne2
+ chaîne1 <= chaîne2
+ chaîne1 > chaîne2
+ chaîne1 >= chaîne2
+ +
Compare chaîne1 à chaîne2. Notez que les + chaînes sont comparées de manière littérale (en utilisant + strcmp(3)). Ainsi, la chaîne "100" est inférieure à + "20".
+ +
( test_condition )
+
vrai si test_condition est vrai
+ +
! test_condition
+
vrai si test_condition est faux
+ +
test_condition1 && + test_condition2
+
vrai si test_condition1 et + test_condition2 sont tous les deux vrais
+ +
test_condition1 || + test_condition2
+
vrai si au moins un des tests test_condition1 ou + test_condition2 est vrai
+
+ +

"=" et "!=" ont une priorité supérieure + à "&&" et "||". "!" a + la priorité la plus haute. Ainsi, les deux directives suivantes sont + équivalentes :

+ + + <!--#if expr="$a = test1 && $b = test2" -->
+ <!--#if expr="($a = test1) && ($b = test2)" --> +
+ +

Les opérateurs booléens && et + || ont la même priorité. Ainsi, si vous voulez + augmenter la priorité d'un de ces opérateurs, vous devez utiliser + des parenthèses.

+ +

Tout ce qui n'est pas reconnu comme variable ou opérateur est + traité comme une chaîne. Les chaînes peuvent aussi être entourées + d'apostrophes : 'chaîne'. Les chaînes sans apostrophe + ne peuvent pas contenir d'espaces (espaces ou tabulations) car + ceux-ci servent à séparer certains éléments comme les variables. Si + plusieurs chaînes se trouvent dans une ligne, elles sont concaténées + en utilisant des espaces. Ainsi,

+ + +

chaîne1    chaîne2 devient chaîne1 chaîne2
+
+ et
+
+ 'chaîne1    chaîne2' devient chaîne1    chaîne2.

+
+ + Optimisation des expressions booléennes +

Si les expressions atteignent une complexité suffisante pour + ralentir les traitements de manière significative, vous pouvez + essayer de les optimiser en fonction des règles d'évaluation :

+
    +
  • Les expressions sont évaluées de la gauche vers la droite
  • +
  • Les opérateurs booléens binaires (&& et + ||) font l'objet d'une évaluation abrégée chaque fois + que cela est possible. En d'autres termes, et selon la règle + ci-dessus, mod_include évalue tout d'abord la + partie gauche de l'expression. Si le résultat de l'évaluation de + cette partie gauche suffit à déterminer le résultat final, + l'évaluation s'arrête ici. Dans le cas contraire, la partie droite + est évaluée, et le résultat final tient compte des résultats des + évaluations des parties gauche et droite.
  • +
  • L'évaluation abrégée est désactivée tant qu'il reste des + expressions régulières à traiter. Ces dernières doivent être + évaluées afin de définir les variables correspondant aux + références arrières ($1 .. $9).
  • +
+

Si vous voulez déterminer la manière dont une expression est + traitée, vous pouvez recompiler mod_include en + utilisant l'option de compilation -DDEBUG_INCLUDE. + Ceci a pour effet d'insérer, pour chaque expression interprétée, + des informations étiquetées, l'arbre d'interprétation et la + manière dont elle est évaluée au sein du flux de sortie envoyé au + client.

+
+ + Slashes d'échappement dans les expressions + rationnelles +

Tous les caractères slashes qui ne sont pas des séparateurs dans + votre expression rationnelle doivent être échappés, et ceci sans + tenir compte de leur signification du point de vue du moteur + d'expressions rationnelles.

+
+ + Documentation de référence +

Voir le document Les expressions dans le + serveur HTTP Apache, pour une référence complète et des exemples.

+
+ + +
+ + +SSIEndTag +Chaîne qui termine l'élément include +SSIEndTag tag +SSIEndTag "-->" +server configvirtual host + + + +

Cette directive permet de modifier la chaîne que + mod_include interprète comme la fin d'un élément + include.

+ + + SSIEndTag "%>" + + +
+SSIStartTag +
+ + +SSIUndefinedEcho +Chaîne à afficher lorsqu'on tente d'extraire le contenu +d'une variable non définie +SSIUndefinedEcho chaîne +SSIUndefinedEcho "(none)" +server configvirtual host +directory.htaccess +All + + +

Cette directive permet de modifier la chaîne affichée par + mod_include lorsqu'on tente d'extraire le contenu + d'une variable non définie.

+ + + SSIUndefinedEcho "<!-- nondef -->" + +
+
+ + +SSIErrorMsg +Message d'erreur affiché lorsqu'une erreur SSI +survient +SSIErrorMsg message +SSIErrorMsg "[an error occurred while processing this +directive]" +server configvirtual host +directory.htaccess +All + + +

La directive SSIErrorMsg permet de + modifier le message d'erreur affiché lorsqu'une erreur SSI survient. + Pour les serveurs en production, il est recommandé de modifier le + message d'erreur par défaut en "<!-- Error + -->", de façon à ce que le message ne soit pas + présenté à l'utilisateur.

+ +

Cette directive a le même effet que l'élément + <!--#config errmsg=message -->.

+ + + SSIErrorMsg "<!-- Error -->" + +
+
+ + +SSIStartTag +Chaîne qui marque le début d'un élément +include +SSIStartTag tag +SSIStartTag "<!--#" +server configvirtual host + + + +

Cette directive permet de modifier la chaîne que + mod_include interprète comme le début d'un élément + include.

+ +

Cette option peut vous être utile si vous avez deux serveurs qui + interprètent un fichier avec des commandes différentes (et + éventuellement à des moments différents).

+ + +SSIStartTag "<%" +SSIEndTag "%>" + + +

Avec l'exemple ci-dessus, qui définit aussi une directive + SSIEndTag, vous pourrez + inscrire des directives SSI comme dans l'exemple suivant :

+ + Directives SSI avec marques de début et de fin + personnalisées + <%printenv %> + +
+SSIEndTag +
+ + +SSITimeFormat +Configuration du format d'affichage des dates +SSITimeFormat chaîne de formatage +SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z" + +server configvirtual host +directory.htaccess +All + + +

Cette directive permet de modifier le format d'affichage des +variables d'environnement DATE. La chaîne de +formatage est identique à celle de la fonction +strftime(3) de la bibliothèque C standard.

+ +

Cette directive a le même effet que l'élément + <!--#config timefmt=chaîne de formatage + -->.

+ + + SSITimeFormat "%R, %B %d, %Y" + + +

Avec l'exemple ci-dessus, les dates seront affichées dans le + style "22:26, June 14, 2002".

+
+
+ + +SSIETag +Définit si des en-têtes ETags sont générés par le serveur. +SSIETag on|off +SSIETag off +directory.htaccess + + +

Dans le cas général, un fichier filtré par + mod_include peut contenir des éléments soit + générés dynamiquement, soit éventuellement modifiés indépendemment + du fichier original. En conséquence, il est demandé par défaut au + serveur de ne pas générer d'en-tête ETag à la réponse + en ajoutant no-etag aux informations de requête.

+ +

Ce comportement peut être modifié via la directive + SSIETag qui permet au serveur de générer un + en-tête ETag. On peut aussi l'utiliser pour la mise + en cache de la sortie. Notez qu'un serveur d'arrière-plan ou un + générateur de contenu dynamique peut lui-même générer un en-tête + ETag, en ignorant l'information no-etag, + cet en-tête ETag étant transmis par + mod_include sans tenir compte de la définition de + la présente directive. La directive SSIETag + peut prendre une des valeurs suivantes :

+ +
+ +
off
+
no-etag sera ajouté aux informations de + requête, et il sera demandé au serveur de ne pas générer + d'en-tête ETag. Lorsqu'un serveur ignore la valeur + de no-etag et génère tout de même un en-tête + ETag, ce dernier sera respecté.
+ +
on
+
Les en-têtes ETag existants seront respectés, + et ceux générés par le serveur seront ajoutés à la réponse.
+ +
+ +
+
+ + +SSILastModified +Définit si des en-têtes Last-Modified sont +générés par le serveur. +SSILastModified on|off +SSILastModified off +directory.htaccess + + +

Dans le cas général, un fichier filtré par + mod_include peut contenir des éléments soit + générés dynamiquement, soit éventuellement modifiés indépendemment + du fichier original. En conséquence, l'en-tête + Last-Modified est supprimé par défaut de la réponse.

+ +

La directive SSILastModified permet de + modifier ce comportement en faisant en sorte que l'en-tête + Last-Modified soit respecté s'il est déjà présent, ou + défini dans le cas contraire. On peut aussi l'utiliser pour la mise + en cache de la sortie. La directive + SSILastModified peut prendre une des + valeurs suivantes :

+ +
+ +
off
+
L'en-tête Last-Modified sera supprimé des + réponses, à moins que la directive XBitHack ne soit définie à + full comme décrit plus loin.
+ +
on
+
L'en-tête Last-Modified sera respecté s'il est + déjà présent, et ajouté à la réponse si cette dernière est un + fichier et si l'en-tête est manquant. La directive SSILastModified l'emporte sur + la directive XBitHack.
+ +
+ +
+
+ +SSILegacyExprParser +Active le mode de compatibilité pour les expressions +conditionnelles. +SSILegacyExprParser on|off +SSILegacyExprParser off +directory.htaccess +Disponible à partir de la version 2.3.13. + + +

Depuis la version 2.3.13, mod_include a adopté + la nouvelle syntaxe ap_expr pour ses + expressions conditionnelles dans les éléments de contrôle de flux + #if. Cette directive permet de réactiver l'ancienne syntaxe qui est compatible avec les + versions 2.2.x et antérieures d'Apache HTTPD. +

+
+
+ + +XBitHack +Interprète les directives SSI dans les fichiers dont le bit +d'exécution est positionné +XBitHack on|off|full +XBitHack off +server configvirtual host +directory.htaccess +Options + + +

La directive XBitHack permet de contrôler + l'interprétation des documents html standards. Elle n'affecte que + les fichiers dont le type MIME est + text/html. XBitHack peut prendre + les valeurs suivantes :

+ +
+
off
+
Aucun traitement particulier pour les fichiers + exécutables.
+ +
on
+
Tout fichier text/html dont le bit d'exécution + est positionné pour le propriétaire sera traité en tant que + document html interprété par le serveur.
+ +
full
+
Identique à on, avec test du bit d'exécution pour + le groupe. Si ce dernier est positionné, la date de dernière + modification du fichier renvoyé est définie à la date de + dernière modification du fichier. Dans le cas contraire, aucune + date de dernière modification n'est renvoyée. Le positionnement de + ce bit permet aux clients et aux mandataires de gérer la mise en + cache du résultat de la requête. + + Note +

Il est recommandé de n'utiliser l'option full que dans le cas + où vous êtes certain que le bit d'exécution du groupe est non + positionné pour les scripts SSI qui pourraient effectuer l'#include d'un programme CGI ou bien produire des sorties + différentes à chaque accès (ou seraient susceptibles d'être + modifiées au cours des requêtes ultérieures).

+ +

Lorsqu'elle est définie à on, la directive + SSILastModified + l'emporte sur la directive XBitHack.

+
+ +
+
+ +
+
+ +
diff --git a/docs/manual/mod/mod_include.xml.meta b/docs/manual/mod/mod_include.xml.meta index 8f747eea0f..38fc26d152 100644 --- a/docs/manual/mod/mod_include.xml.meta +++ b/docs/manual/mod/mod_include.xml.meta @@ -8,6 +8,7 @@ en + fr ja diff --git a/docs/manual/mod/mod_isapi.html b/docs/manual/mod/mod_isapi.html index d80ca339c4..3a04924be1 100644 --- a/docs/manual/mod/mod_isapi.html +++ b/docs/manual/mod/mod_isapi.html @@ -4,6 +4,10 @@ URI: mod_isapi.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_isapi.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_isapi.html.ko.euc-kr Content-Language: ko Content-type: text/html; charset=EUC-KR diff --git a/docs/manual/mod/mod_isapi.html.fr b/docs/manual/mod/mod_isapi.html.fr new file mode 100644 index 0000000000..2140e4f3ab --- /dev/null +++ b/docs/manual/mod/mod_isapi.html.fr @@ -0,0 +1,395 @@ + + + + + +mod_isapi - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_isapi

+
+

Langues Disponibles:  en  | + fr  | + ko 

+
+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
+ + + + +
Description:Extensions ISAPI dans Apache pour Windows
Statut:Base
Identificateur de Module:isapi_module
Fichier Source:mod_isapi.c
Compatibilité:Win32 only
+

Sommaire

+ +

Ce module implémente l'API des extensions du Serveur Internet. Il + permet à Apache pour Windows de servir les extensions du Serveur + Internet (par exemple les modules .dll ISAPI), compte tenu des + restrictions spécifiées.

+ +

Les modules d'extension ISAPI (fichiers .dll) sont des modules + tiers. Leur auteur n'est pas le Groupe Apache, et nous n'assurons + donc pas leur support. Veuillez contacter directement l'auteur + d'ISAPI si vous rencontrez des problèmes à l'exécution d'une + extension ISAPI. Merci de ne pas soumettre ce genre + de problème dans les listes d'Apache ou dans les pages de rapports + de bogues.

+
+ +
top
+
+

Utilisation

+ +

Dans le fichier de configuration du serveur, utilisez la + directive AddHandler pour + associer les fichiers ISAPI au gestionnaire + isapi-handler à l'aide de l'extension de leur nom de + fichier. Pour faire en sorte que tout fichier .dll soit traité en + tant qu'extension ISAPI, éditez le fichier httpd.conf et ajoutez les + lignes suivantes :

+
AddHandler isapi-handler .dll
+ + +
Dans les versions plus anciennes du serveur Apache, le nom du + gestionnaire était isapi-isa au lieu de + isapi-handler. Depuis les versions de développement 2.3 + du serveur Apache, isapi-isa n'est plus valide, et vous + devrez éventuellement modifier votre configuration pour utiliser + isapi-handler à la place.
+ +

Le serveur Apache ne propose aucun moyen de conserver en mémoire + un module chargé. Vous pouvez cependant précharger et garder un + module spécifique en mémoire en utilisant la syntaxe suivante dans + votre httpd.conf :

+
ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll
+ + +

Que vous ayez ou non préchargé une extension ISAPI, ces dernières + sont toutes soumises au mêmes restrictions et possèdent les mêmes + permissions que les scripts CGI. En d'autres termes, Options ExecCGI doit être + défini pour le répertoire qui contient le fichier .dll ISAPI.

+ +

Reportez-vous aux Notes additionnelles et au + Journal du programmeur pour plus de détails + et une clarification à propos du support spécifique ISAPI fourni par + le module mod_isapi.

+
top
+
+

Notes additionnelles

+ +

L'implémentation ISAPI d'Apache se conforme à toutes les + spécifications ISAPI 2.0, à l'exception de certaines extensions + "spécifiques Microsoft" utilisant des entrées/sorties asynchrones. + Le modèle des entrées/sorties d'Apache ne permet pas l'écriture et + la lecture asynchrone de la manière dont ISAPI pourrait le faire. Si + une extension tente d'utiliser des fonctionnalités non supportées, + comme les entrées/sorties asynchrones, un message est enregistré + dans le journal des erreurs afin d'aider au débogage. Comme ces + messages peuvent devenir envahissants, la directive + ISAPILogNotSupported Off permet de filter ce bruit de + fond.

+ +

Si aucune option de configuration particulière n'est spécifiée, + certains serveurs, comme Microsoft IIS, chargent l'extension ISAPI + dans le serveur et la conservent en mémoire jusqu'à ce que + l'utilisation de cette dernière devienne trop élevée. Apache, par + contre, charge et décharge réellement l'extension ISAPI chaque fois + qu'elle est invoquée, si la directive ISAPICacheFile n'a pas été spécifiée. + Ce n'est pas très performant, mais le modèle de mémoire d'Apache + fait que cette méthode est la plus efficace. De nombreux modules + ISAPI présentent des incompatibilités subtiles avec le serveur + Apache, et le déchargement de ces modules permet d'assurer la + stabilité du serveur.

+ +

En outre, gardez à l'esprit que si Apache supporte les extensions + ISAPI, il ne supporte pas les filtres ISAPI. Le + support des filtres sera peut-être ajouté dans le futur, mais n'a + pas encore été planifié.

+
top
+
+

Journal du programmeur

+ +

Si vous écrivez des modules mod_isapi Apache + 2.0, vous devez limiter vos appels à + ServerSupportFunction aux directives suivantes :

+ +
+
HSE_REQ_SEND_URL_REDIRECT_RESP
+
Redirige l'utilisateur vers une autre adresse.
+ Il doit s'agir d'une URL pleinement qualifiée (comme + http://serveur/chemin).
+ +
HSE_REQ_SEND_URL
+
Redirige l'utilisateur vers une autre adresse.
+ Ce ne doit pas être une URL pleinement qualifiée ; la mention du + protocole ou du nom du serveur n'est pas autorisée (par exemple, + utilisez simplement /chemin).
+ La redirection n'est pas assurée par le navigateur mais par le + serveur lui-même.
+

Avertissement

+

Dans sa documentation récente, Microsoft semble avoir + abandonné la distinction entre les deux fonctions + HSE_REQ_SEND_URL. Apache, quant à lui, continue de + les traiter comme deux fonctions distinctes avec des contraintes + et des comportements spécifiques.

+
+ +
HSE_REQ_SEND_RESPONSE_HEADER
+
Apache accepte un corps de réponse après l'en-tête s'il se + situe après la ligne vide (deux caractères newline consécutifs) + dans la chaîne des arguments d'en-têtes. Ce corps ne doit pas + contenir de caractères NULL, car l'argument des en-têtes est + lui-même terminé par un caractère NULL.
+ +
HSE_REQ_DONE_WITH_SESSION
+
Apache considère ceci comme sans objet, car la session est + fermée lorsque l'extension ISAPI termine son traitement.
+ +
HSE_REQ_MAP_URL_TO_PATH
+
Apache va traduire un nom virtuel en nom physique.
+ +
HSE_APPEND_LOG_PARAMETER
+
+ Ce paramètre peut intervenir dans un de ces journaux : + + + +

La première option, le composant + %{isapi-parameter}n, est préférable et toujours + disponible.

+
+ +
HSE_REQ_IS_KEEP_CONN
+
retourne le statut négocié Keep-Alive.
+ +
HSE_REQ_SEND_RESPONSE_HEADER_EX
+
se comportera comme indiqué dans le documentation, bien que le + drapeau fKeepConn soit ignoré.
+ +
HSE_REQ_IS_CONNECTED
+
renverra faux si la requête a été abandonnée.
+
+ +

Apache renvoie FALSE pour tout appel non supporté à + ServerSupportFunction, et GetLastError + renverra la valeur ERROR_INVALID_PARAMETER.

+ +

ReadClient extrait la partie du corps de la requête + qui dépasse le tampon initial (défini par la directive ISAPIReadAheadBuffer). En fonction de + la définition de la directive + ISAPIReadAheadBuffer (nombre d'octets à + mettre dans le tampon avant d'appeler le gestionnaire ISAPI), les + requêtes courtes sont envoyées en entier à l'extension lorsque + celle-ci est invoquée. Si la taille de la requête est trop + importante, l'extension ISAPI doit faire appel à + ReadClient pour extraire la totalité du corps de la + requête.

+ +

WriteClient est supporté, mais seulement avec le + drapeau HSE_IO_SYNC ou le drapeau "aucune option" + (valeur 0). Toute autre requête + WriteClient sera rejetée avec une valeur de retour + FALSE, et GetLastError renverra la valeur + ERROR_INVALID_PARAMETER

+ +

GetServerVariable est supporté, bien que les + variables étendues de serveur n'existent pas (comme défini par + d'autres serveurs). Toutes les variables d'environnement CGI + usuelles d'Apache sont disponibles à partir de + GetServerVariable, ainsi que les valeurs + ALL_HTTP et ALL_RAW.

+ +

Depuis httpd 2.0, mod_isapi propose des + fonctionnalités supplémentaires introduites dans les versions + actualisées de la spécification ISAPI, ainsi qu'une émulation + limitée des entrées/sorties asynchrones et la sémantique + TransmitFile. Apache httpd supporte aussi le préchargement + des .dlls ISAPI à des fins de performances.

+
+
top
+

Directive ISAPIAppendLogToErrors

+ + + + + + + + +
Description:Enregistrement des requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans le journal des erreurs
Syntaxe:ISAPIAppendLogToErrors on|off
Défaut:ISAPIAppendLogToErrors off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_isapi
+

Cette directive permet d'enregistrer les requêtes + HSE_APPEND_LOG_PARAMETER de la part des extensions + ISAPI dans le journal des erreurs.

+ +
+
top
+

Directive ISAPIAppendLogToQuery

+ + + + + + + + +
Description:Enregistre les requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans la partie arguments de la requête
Syntaxe:ISAPIAppendLogToQuery on|off
Défaut:ISAPIAppendLogToQuery on
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_isapi
+

Cette directive permet d'enregistrer les requêtes + HSE_APPEND_LOG_PARAMETER de la part des extensions + ISAPI dans la partie arguments de la requête (ajouté au composant + %q de la directive CustomLog).

+ +
+
top
+

Directive ISAPICacheFile

+ + + + + + +
Description:Fichiers .dll ISAPI devant être chargés au +démarrage
Syntaxe:ISAPICacheFile chemin-fichier +[chemin-fichier] +...
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_isapi
+

Cette directive permet de spécifier une liste, séparés par des + espaces, de noms de fichiers devant être chargés au démarrage + du serveur Apache, et rester en mémoire jusqu'à l'arrêt du serveur. + Cette directive peut être répétée pour chaque fichier .dll ISAPI + souhaité. Le chemin complet du fichier doit être spécifié. Si le + chemin n'est pas absolu, il sera considéré comme relatif au + répertoire défini par la directive ServerRoot.

+ +
+
top
+

Directive ISAPIFakeAsync

+ + + + + + + + +
Description:Emulation du support des entrées/sorties asynchrones pour +les appels ISAPI
Syntaxe:ISAPIFakeAsync on|off
Défaut:ISAPIFakeAsync off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_isapi
+

Lorsquelle est définie à "on", cette directive permet d'émuler le + support des entrées/sorties asynchrones pour les appels ISAPI.

+ +
+
top
+

Directive ISAPILogNotSupported

+ + + + + + + + +
Description:Journalisation des demandes de fonctionnalités non +supportées de la part des extensions ISAPI
Syntaxe:ISAPILogNotSupported on|off
Défaut:ISAPILogNotSupported off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_isapi
+

Cette directive permet d'enregistrer dans le journal des erreurs + toutes les demandes de fonctionnalités non supportées de la part des + extensions ISAPI. Ceci peut aider les administrateurs à décortiquer + certains problèmes. Lorsqu'elle a été définie à "on" et si tous les + modules ISAPI fonctionnent, elle peut être redéfinie à "off".

+ +
+
top
+

Directive ISAPIReadAheadBuffer

+ + + + + + + + +
Description:Taille du tampon de lecture anticipée envoyé aux extensions +ISAPI
Syntaxe:ISAPIReadAheadBuffer taille
Défaut:ISAPIReadAheadBuffer 49152
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_isapi
+

Cette directive permet de définir la taille maximale du tampon de + lecture anticipée envoyé aux extensions ISAPI lorsqu'elles sont + initialement invoquées. Toute donnée restante doit être extraite en + faisant appel à ReadClient ; certaines extensions ISAPI + peuvent ne pas supporter la fonction ReadClient. + Pour plus de détails, veuillez vous adresser à l'auteur de + l'extension ISAPI.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ko 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_isapi.xml.fr b/docs/manual/mod/mod_isapi.xml.fr new file mode 100644 index 0000000000..1da7ab5e8e --- /dev/null +++ b/docs/manual/mod/mod_isapi.xml.fr @@ -0,0 +1,352 @@ + + + + + + + + + + + +mod_isapi +Extensions ISAPI dans Apache pour Windows +Base +mod_isapi.c +isapi_module +Win32 only + + +

Ce module implémente l'API des extensions du Serveur Internet. Il + permet à Apache pour Windows de servir les extensions du Serveur + Internet (par exemple les modules .dll ISAPI), compte tenu des + restrictions spécifiées.

+ +

Les modules d'extension ISAPI (fichiers .dll) sont des modules + tiers. Leur auteur n'est pas le Groupe Apache, et nous n'assurons + donc pas leur support. Veuillez contacter directement l'auteur + d'ISAPI si vous rencontrez des problèmes à l'exécution d'une + extension ISAPI. Merci de ne pas soumettre ce genre + de problème dans les listes d'Apache ou dans les pages de rapports + de bogues.

+
+ +
Utilisation + +

Dans le fichier de configuration du serveur, utilisez la + directive AddHandler pour + associer les fichiers ISAPI au gestionnaire + isapi-handler à l'aide de l'extension de leur nom de + fichier. Pour faire en sorte que tout fichier .dll soit traité en + tant qu'extension ISAPI, éditez le fichier httpd.conf et ajoutez les + lignes suivantes :

+ + AddHandler isapi-handler .dll + + + Dans les versions plus anciennes du serveur Apache, le nom du + gestionnaire était isapi-isa au lieu de + isapi-handler. Depuis les versions de développement 2.3 + du serveur Apache, isapi-isa n'est plus valide, et vous + devrez éventuellement modifier votre configuration pour utiliser + isapi-handler à la place. + +

Le serveur Apache ne propose aucun moyen de conserver en mémoire + un module chargé. Vous pouvez cependant précharger et garder un + module spécifique en mémoire en utilisant la syntaxe suivante dans + votre httpd.conf :

+ + ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll + + +

Que vous ayez ou non préchargé une extension ISAPI, ces dernières + sont toutes soumises au mêmes restrictions et possèdent les mêmes + permissions que les scripts CGI. En d'autres termes, Options ExecCGI doit être + défini pour le répertoire qui contient le fichier .dll ISAPI.

+ +

Reportez-vous aux Notes additionnelles et au + Journal du programmeur pour plus de détails + et une clarification à propos du support spécifique ISAPI fourni par + le module mod_isapi.

+
+ +
Notes additionnelles + +

L'implémentation ISAPI d'Apache se conforme à toutes les + spécifications ISAPI 2.0, à l'exception de certaines extensions + "spécifiques Microsoft" utilisant des entrées/sorties asynchrones. + Le modèle des entrées/sorties d'Apache ne permet pas l'écriture et + la lecture asynchrone de la manière dont ISAPI pourrait le faire. Si + une extension tente d'utiliser des fonctionnalités non supportées, + comme les entrées/sorties asynchrones, un message est enregistré + dans le journal des erreurs afin d'aider au débogage. Comme ces + messages peuvent devenir envahissants, la directive + ISAPILogNotSupported Off permet de filter ce bruit de + fond.

+ +

Si aucune option de configuration particulière n'est spécifiée, + certains serveurs, comme Microsoft IIS, chargent l'extension ISAPI + dans le serveur et la conservent en mémoire jusqu'à ce que + l'utilisation de cette dernière devienne trop élevée. Apache, par + contre, charge et décharge réellement l'extension ISAPI chaque fois + qu'elle est invoquée, si la directive ISAPICacheFile n'a pas été spécifiée. + Ce n'est pas très performant, mais le modèle de mémoire d'Apache + fait que cette méthode est la plus efficace. De nombreux modules + ISAPI présentent des incompatibilités subtiles avec le serveur + Apache, et le déchargement de ces modules permet d'assurer la + stabilité du serveur.

+ +

En outre, gardez à l'esprit que si Apache supporte les extensions + ISAPI, il ne supporte pas les filtres ISAPI. Le + support des filtres sera peut-être ajouté dans le futur, mais n'a + pas encore été planifié.

+
+ +
Journal du programmeur + +

Si vous écrivez des modules mod_isapi Apache + 2.0, vous devez limiter vos appels à + ServerSupportFunction aux directives suivantes :

+ +
+
HSE_REQ_SEND_URL_REDIRECT_RESP
+
Redirige l'utilisateur vers une autre adresse.
+ Il doit s'agir d'une URL pleinement qualifiée (comme + http://serveur/chemin).
+ +
HSE_REQ_SEND_URL
+
Redirige l'utilisateur vers une autre adresse.
+ Ce ne doit pas être une URL pleinement qualifiée ; la mention du + protocole ou du nom du serveur n'est pas autorisée (par exemple, + utilisez simplement /chemin).
+ La redirection n'est pas assurée par le navigateur mais par le + serveur lui-même.
+ Avertissement +

Dans sa documentation récente, Microsoft semble avoir + abandonné la distinction entre les deux fonctions + HSE_REQ_SEND_URL. Apache, quant à lui, continue de + les traiter comme deux fonctions distinctes avec des contraintes + et des comportements spécifiques.

+
+ +
HSE_REQ_SEND_RESPONSE_HEADER
+
Apache accepte un corps de réponse après l'en-tête s'il se + situe après la ligne vide (deux caractères newline consécutifs) + dans la chaîne des arguments d'en-têtes. Ce corps ne doit pas + contenir de caractères NULL, car l'argument des en-têtes est + lui-même terminé par un caractère NULL.
+ +
HSE_REQ_DONE_WITH_SESSION
+
Apache considère ceci comme sans objet, car la session est + fermée lorsque l'extension ISAPI termine son traitement.
+ +
HSE_REQ_MAP_URL_TO_PATH
+
Apache va traduire un nom virtuel en nom physique.
+ +
HSE_APPEND_LOG_PARAMETER
+
+ Ce paramètre peut intervenir dans un de ces journaux : + +
    +
  • dans le composant \"%{isapi-parameter}n\" + d'une directive CustomLog
  • + +
  • dans le composant %q avec la directive + ISAPIAppendLogToQuery + On
  • + +
  • dans le journal des erreurs avec la directive ISAPIAppendLogToErrors + On
  • +
+ +

La première option, le composant + %{isapi-parameter}n, est préférable et toujours + disponible.

+
+ +
HSE_REQ_IS_KEEP_CONN
+
retourne le statut négocié Keep-Alive.
+ +
HSE_REQ_SEND_RESPONSE_HEADER_EX
+
se comportera comme indiqué dans le documentation, bien que le + drapeau fKeepConn soit ignoré.
+ +
HSE_REQ_IS_CONNECTED
+
renverra faux si la requête a été abandonnée.
+
+ +

Apache renvoie FALSE pour tout appel non supporté à + ServerSupportFunction, et GetLastError + renverra la valeur ERROR_INVALID_PARAMETER.

+ +

ReadClient extrait la partie du corps de la requête + qui dépasse le tampon initial (défini par la directive ISAPIReadAheadBuffer). En fonction de + la définition de la directive + ISAPIReadAheadBuffer (nombre d'octets à + mettre dans le tampon avant d'appeler le gestionnaire ISAPI), les + requêtes courtes sont envoyées en entier à l'extension lorsque + celle-ci est invoquée. Si la taille de la requête est trop + importante, l'extension ISAPI doit faire appel à + ReadClient pour extraire la totalité du corps de la + requête.

+ +

WriteClient est supporté, mais seulement avec le + drapeau HSE_IO_SYNC ou le drapeau "aucune option" + (valeur 0). Toute autre requête + WriteClient sera rejetée avec une valeur de retour + FALSE, et GetLastError renverra la valeur + ERROR_INVALID_PARAMETER

+ +

GetServerVariable est supporté, bien que les + variables étendues de serveur n'existent pas (comme défini par + d'autres serveurs). Toutes les variables d'environnement CGI + usuelles d'Apache sont disponibles à partir de + GetServerVariable, ainsi que les valeurs + ALL_HTTP et ALL_RAW.

+ +

Depuis httpd 2.0, mod_isapi propose des + fonctionnalités supplémentaires introduites dans les versions + actualisées de la spécification ISAPI, ainsi qu'une émulation + limitée des entrées/sorties asynchrones et la sémantique + TransmitFile. Apache httpd supporte aussi le préchargement + des .dlls ISAPI à des fins de performances.

+
+ + +ISAPICacheFile +Fichiers .dll ISAPI devant être chargés au +démarrage +ISAPICacheFile chemin-fichier +[chemin-fichier] +... +server configvirtual host + + + +

Cette directive permet de spécifier une liste, séparés par des + espaces, de noms de fichiers devant être chargés au démarrage + du serveur Apache, et rester en mémoire jusqu'à l'arrêt du serveur. + Cette directive peut être répétée pour chaque fichier .dll ISAPI + souhaité. Le chemin complet du fichier doit être spécifié. Si le + chemin n'est pas absolu, il sera considéré comme relatif au + répertoire défini par la directive ServerRoot.

+
+
+ + +ISAPIReadAheadBuffer +Taille du tampon de lecture anticipée envoyé aux extensions +ISAPI +ISAPIReadAheadBuffer taille +ISAPIReadAheadBuffer 49152 +server configvirtual host +directory.htaccess +FileInfo + + +

Cette directive permet de définir la taille maximale du tampon de + lecture anticipée envoyé aux extensions ISAPI lorsqu'elles sont + initialement invoquées. Toute donnée restante doit être extraite en + faisant appel à ReadClient ; certaines extensions ISAPI + peuvent ne pas supporter la fonction ReadClient. + Pour plus de détails, veuillez vous adresser à l'auteur de + l'extension ISAPI.

+
+
+ + +ISAPILogNotSupported +Journalisation des demandes de fonctionnalités non +supportées de la part des extensions ISAPI +ISAPILogNotSupported on|off +ISAPILogNotSupported off +server configvirtual host +directory.htaccess +FileInfo + + +

Cette directive permet d'enregistrer dans le journal des erreurs + toutes les demandes de fonctionnalités non supportées de la part des + extensions ISAPI. Ceci peut aider les administrateurs à décortiquer + certains problèmes. Lorsqu'elle a été définie à "on" et si tous les + modules ISAPI fonctionnent, elle peut être redéfinie à "off".

+
+
+ + +ISAPIAppendLogToErrors +Enregistrement des requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans le journal des erreurs +ISAPIAppendLogToErrors on|off +ISAPIAppendLogToErrors off +server configvirtual host +directory.htaccess +FileInfo + + +

Cette directive permet d'enregistrer les requêtes + HSE_APPEND_LOG_PARAMETER de la part des extensions + ISAPI dans le journal des erreurs.

+
+
+ + +ISAPIAppendLogToQuery +Enregistre les requêtes +HSE_APPEND_LOG_PARAMETER de la part des extensions ISAPI +dans la partie arguments de la requête +ISAPIAppendLogToQuery on|off +ISAPIAppendLogToQuery on +server configvirtual host +directory.htaccess +FileInfo + + +

Cette directive permet d'enregistrer les requêtes + HSE_APPEND_LOG_PARAMETER de la part des extensions + ISAPI dans la partie arguments de la requête (ajouté au composant + %q de la directive CustomLog).

+
+
+ + +ISAPIFakeAsync +Emulation du support des entrées/sorties asynchrones pour +les appels ISAPI +ISAPIFakeAsync on|off +ISAPIFakeAsync off +server configvirtual host +directory.htaccess +FileInfo + + +

Lorsquelle est définie à "on", cette directive permet d'émuler le + support des entrées/sorties asynchrones pour les appels ISAPI.

+
+
+ +
+ diff --git a/docs/manual/mod/mod_isapi.xml.meta b/docs/manual/mod/mod_isapi.xml.meta index c5430a3474..913ae2ac73 100644 --- a/docs/manual/mod/mod_isapi.xml.meta +++ b/docs/manual/mod/mod_isapi.xml.meta @@ -8,6 +8,7 @@ en + fr ko diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.html b/docs/manual/mod/mod_lbmethod_bybusyness.html index bb7e14e2a2..90f931c78f 100644 --- a/docs/manual/mod/mod_lbmethod_bybusyness.html +++ b/docs/manual/mod/mod_lbmethod_bybusyness.html @@ -3,3 +3,7 @@ URI: mod_lbmethod_bybusyness.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_lbmethod_bybusyness.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.html.fr b/docs/manual/mod/mod_lbmethod_bybusyness.html.fr new file mode 100644 index 0000000000..e0199e0493 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bybusyness.html.fr @@ -0,0 +1,109 @@ + + + + + +mod_lbmethod_bybusyness - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_lbmethod_bybusyness

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Algorithme de planification avec répartition de charge de +l'attribution des requêtes en attente pour le module +mod_proxy_balancer
Statut:Extension
Identificateur de Module:lbmethod_bybusyness_module
Fichier Source:mod_lbmethod_bybusyness.c
Compatibilité:Dissocié de mod_proxy_balancer depuis la +version 2.3
+

Sommaire

+ +

Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de mod_proxy_balancer, et +fournit la méthode de répartition de charge bybusyness.

+
+ +
top
+
+

Algorithme d'attribution des requêtes en attente

+ + + +

Activé via lbmethod=bybusyness, ce planificateur + surveille le nombre de requêtes assignées à chaque processus worker + à l'instant présent. Une nouvelle requête est automatiquement + assignée au processus worker auquel est assigné le plus petit nombre de + requêtes. Ceci s'avère utile dans le cas où les + processus worker mettent en file d'attente les requêtes entrantes + indépendamment d'Apache, et permet de s'assurer que la longueur des + files reste raisonnable, et qu'une requête est toujours assignée au + processus worker qui sera à même de la servir le plus + rapidement et avec une latence réduite.

+ +

Si plusieurs processus worker s'avèrent les moins chargés, le + choix d'un de ces derniers est effectué à partir des statistiques + (et des estimations de charges) qu'utilise la méthode de décompte + des requêtes. Au fil du temps, la distribution des tâches finit par + ressembler à celle de byrequests (tel qu'implémenté par + mod_lbmethod_byrequests).

+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.xml.fr b/docs/manual/mod/mod_lbmethod_bybusyness.xml.fr new file mode 100644 index 0000000000..034befead0 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bybusyness.xml.fr @@ -0,0 +1,69 @@ + + + + + + + + + + + +mod_lbmethod_bybusyness +Algorithme de planification avec répartition de charge de +l'attribution des requêtes en attente pour le module +mod_proxy_balancer +Extension +mod_lbmethod_bybusyness.c +lbmethod_bybusyness_module +Dissocié de mod_proxy_balancer depuis la +version 2.3 + + +

Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de mod_proxy_balancer, et +fournit la méthode de répartition de charge bybusyness.

+
+mod_proxy +mod_proxy_balancer + +
+ + Algorithme d'attribution des requêtes en attente + +

Activé via lbmethod=bybusyness, ce planificateur + surveille le nombre de requêtes assignées à chaque processus worker + à l'instant présent. Une nouvelle requête est automatiquement + assignée au processus worker auquel est assigné le plus petit nombre de + requêtes. Ceci s'avère utile dans le cas où les + processus worker mettent en file d'attente les requêtes entrantes + indépendamment d'Apache, et permet de s'assurer que la longueur des + files reste raisonnable, et qu'une requête est toujours assignée au + processus worker qui sera à même de la servir le plus + rapidement et avec une latence réduite.

+ +

Si plusieurs processus worker s'avèrent les moins chargés, le + choix d'un de ces derniers est effectué à partir des statistiques + (et des estimations de charges) qu'utilise la méthode de décompte + des requêtes. Au fil du temps, la distribution des tâches finit par + ressembler à celle de byrequests (tel qu'implémenté par + mod_lbmethod_byrequests).

+ +
+ +
diff --git a/docs/manual/mod/mod_lbmethod_bybusyness.xml.meta b/docs/manual/mod/mod_lbmethod_bybusyness.xml.meta index c5acd9b5da..5901d6dcb7 100644 --- a/docs/manual/mod/mod_lbmethod_bybusyness.xml.meta +++ b/docs/manual/mod/mod_lbmethod_bybusyness.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_lbmethod_byrequests.html b/docs/manual/mod/mod_lbmethod_byrequests.html index 0cc1f2cfcc..7a00cef997 100644 --- a/docs/manual/mod/mod_lbmethod_byrequests.html +++ b/docs/manual/mod/mod_lbmethod_byrequests.html @@ -3,3 +3,7 @@ URI: mod_lbmethod_byrequests.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_lbmethod_byrequests.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_lbmethod_byrequests.html.fr b/docs/manual/mod/mod_lbmethod_byrequests.html.fr new file mode 100644 index 0000000000..b78cc95111 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_byrequests.html.fr @@ -0,0 +1,264 @@ + + + + + +mod_lbmethod_byrequests - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_lbmethod_byrequests

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Algorithme de planification avec répartition de charge du +traitement des requêtes pour le module +mod_proxy_balancer
Statut:Extension
Identificateur de Module:lbmethod_byrequests_module
Fichier Source:mod_lbmethod_byrequests.c
Compatibilité:Dissocié de mod_proxy_balancer dans la +version 2.3
+

Sommaire

+ +

Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de mod_proxy_balancer, et +fournit la méthode de répartition de charge byrequests.

+
+

Sujets

+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+
top
+
+

Algorithme d'attribution des requêtes

+ +

Activé via lbmethod=byrequests, ce planificateur à + été conçu dans le but de distribuer les requêtes à tous les + processus worker afin qu'ils traitent tous le nombre de requêtes + pour lequel ils ont été configurés. Il fonctionne de la manière + suivante :

+ +

lbfactor correspond à la quantité de travail que + nous attendons de ce processus worker, ou en d'autres termes + son quota de travail. C'est une valeur normalisée + représentant leur part du travail à accomplir.

+ +

lbstatus représente combien il est urgent que + ce processus worker travaille pour remplir son quota de + travail.

+ +

Le worker est un membre du dispositif de répartition + de charge, en général un serveur distant traitant un des protocoles + supportés.

+ +

On distribue à chaque processus worker son quota de travail, puis + on regarde celui qui a le plus besoin de travailler + (le plus grand lbstatus). Ce processus est alors sélectionné pour + travailler, et son lbstatus diminué de l'ensemble des quotas de + travail que nous avons distribués à tous les processus. La somme de + tous les lbstatus n'est ainsi pas modifiée, et nous pouvons + distribuer les requêtes selon nos souhaits.

+ +

Si certains processus workers sont désactivés, les autres feront + l'objet d'une planification normale.

+ +
for each worker in workers
+    worker lbstatus += worker lbfactor
+    total factor    += worker lbfactor
+    if worker lbstatus > candidate lbstatus
+        candidate = worker
+
+candidate lbstatus -= total factor
+ +

Si un répartiteur de charge est configuré comme suit :

+ + + + + + + + + + + + + + + + +
workerabcd
lbfactor25252525
lbstatus0000
+ +

Et si b est désactivé, la planification suivante est + mise en oeuvre :

+ + + + + + + + + + + + + + + + + + + + + + +
workerabcd
lbstatus-5002525
lbstatus-250-2550
lbstatus0000
(repeat)
+ +

C'est à dire la chronologie suivante : a c + d + a c d a c + d ... Veuillez noter que :

+ + + + + + + + + + + +
workerabcd
lbfactor25252525
+ +

A le même effet que :

+ + + + + + + + + + + +
workerabcd
lbfactor1111
+ +

Ceci est dû au fait que toutes les valeurs de lbfactor + sont normalisées et évaluées en fonction des autres. Avec :

+ + + + + + + + + +
workerabc
lbfactor141
+ +

le processus b va, en moyenne, se voir assigner 4 fois + plus de requêtes que a et c.

+ +

La configuration suivante, asymétrique, fonctionne comme on peut + s'y attendre :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
workerab
lbfactor7030
 
lbstatus-3030
lbstatus40-40
lbstatus10-10
lbstatus-2020
lbstatus-5050
lbstatus20-20
lbstatus-1010
lbstatus-4040
lbstatus30-30
lbstatus00
(repeat)
+ +

Après 10 distributions, la planification se répète et 7 + a sont sélectionnés avec 3 b intercalés.

+
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_byrequests.xml.fr b/docs/manual/mod/mod_lbmethod_byrequests.xml.fr new file mode 100644 index 0000000000..17bc91e6cd --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_byrequests.xml.fr @@ -0,0 +1,231 @@ + + + + + + + + + + + +mod_lbmethod_byrequests +Algorithme de planification avec répartition de charge du +traitement des requêtes pour le module +mod_proxy_balancer +Extension +mod_lbmethod_byrequests.c +lbmethod_byrequests_module +Dissocié de mod_proxy_balancer dans la +version 2.3 + + +

Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de mod_proxy_balancer, et +fournit la méthode de répartition de charge byrequests.

+
+mod_proxy +mod_proxy_balancer + +
+ Algorithme d'attribution des requêtes +

Activé via lbmethod=byrequests, ce planificateur à + été conçu dans le but de distribuer les requêtes à tous les + processus worker afin qu'ils traitent tous le nombre de requêtes + pour lequel ils ont été configurés. Il fonctionne de la manière + suivante :

+ +

lbfactor correspond à la quantité de travail que + nous attendons de ce processus worker, ou en d'autres termes + son quota de travail. C'est une valeur normalisée + représentant leur part du travail à accomplir.

+ +

lbstatus représente combien il est urgent que + ce processus worker travaille pour remplir son quota de + travail.

+ +

Le worker est un membre du dispositif de répartition + de charge, en général un serveur distant traitant un des protocoles + supportés.

+ +

On distribue à chaque processus worker son quota de travail, puis + on regarde celui qui a le plus besoin de travailler + (le plus grand lbstatus). Ce processus est alors sélectionné pour + travailler, et son lbstatus diminué de l'ensemble des quotas de + travail que nous avons distribués à tous les processus. La somme de + tous les lbstatus n'est ainsi pas modifiée, et nous pouvons + distribuer les requêtes selon nos souhaits.

+ +

Si certains processus workers sont désactivés, les autres feront + l'objet d'une planification normale.

+ +
for each worker in workers
+    worker lbstatus += worker lbfactor
+    total factor    += worker lbfactor
+    if worker lbstatus > candidate lbstatus
+        candidate = worker
+
+candidate lbstatus -= total factor
+
+ +

Si un répartiteur de charge est configuré comme suit :

+ + + + + + + + + + + + + + + + + +
workerabcd
lbfactor25252525
lbstatus0000
+ +

Et si b est désactivé, la planification suivante est + mise en oeuvre :

+ + + + + + + + + + + + + + + + + + + + + + + +
workerabcd
lbstatus-5002525
lbstatus-250-2550
lbstatus0000
(repeat)
+ +

C'est à dire la chronologie suivante : a c + d + a c d a c + d ... Veuillez noter que :

+ + + + + + + + + + + + +
workerabcd
lbfactor25252525
+ +

A le même effet que :

+ + + + + + + + + + + + +
workerabcd
lbfactor1111
+ +

Ceci est dû au fait que toutes les valeurs de lbfactor + sont normalisées et évaluées en fonction des autres. Avec :

+ + + + + + + + + + +
workerabc
lbfactor141
+ +

le processus b va, en moyenne, se voir assigner 4 fois + plus de requêtes que a et c.

+ +

La configuration suivante, asymétrique, fonctionne comme on peut + s'y attendre :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
workerab
lbfactor7030
 
lbstatus-3030
lbstatus40-40
lbstatus10-10
lbstatus-2020
lbstatus-5050
lbstatus20-20
lbstatus-1010
lbstatus-4040
lbstatus30-30
lbstatus00
(repeat)
+ +

Après 10 distributions, la planification se répète et 7 + a sont sélectionnés avec 3 b intercalés.

+
+ +
diff --git a/docs/manual/mod/mod_lbmethod_byrequests.xml.meta b/docs/manual/mod/mod_lbmethod_byrequests.xml.meta index 47f906a614..d167df8c29 100644 --- a/docs/manual/mod/mod_lbmethod_byrequests.xml.meta +++ b/docs/manual/mod/mod_lbmethod_byrequests.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.html b/docs/manual/mod/mod_lbmethod_bytraffic.html index 99ff4a6a77..74c1f9d12c 100644 --- a/docs/manual/mod/mod_lbmethod_bytraffic.html +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html @@ -3,3 +3,7 @@ URI: mod_lbmethod_bytraffic.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_lbmethod_bytraffic.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.html.fr b/docs/manual/mod/mod_lbmethod_bytraffic.html.fr new file mode 100644 index 0000000000..b53101137f --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bytraffic.html.fr @@ -0,0 +1,125 @@ + + + + + +mod_lbmethod_bytraffic - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_lbmethod_bytraffic

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Algorithme de planification avec répartition de charge en +fonction d'un niveau de trafic pour le module +mod_proxy_balancer
Statut:Extension
Identificateur de Module:lbmethod_bytraffic_module
Fichier Source:mod_lbmethod_bytraffic.c
Compatibilité:Dissocié de mod_proxy_balancer depuis la +version 2.3
+

Sommaire

+ +

Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de mod_proxy_balancer, et +fournit la méthode de répartition de charge bytraffic.

+
+ +
top
+
+

Algorithme de répartition en fonction d'un certain + trafic

+ +

Activé via lbmethod=bytraffic, l'idée directrice de + ce planificateur est similaire à celle de la méthode reposant sur le + nombre de requêtes, avec les différences suivantes :

+ +

lbfactor représente la quantité de trafic, en + octets, que nous voulons voir traitée par le processus. Il + s'agit là aussi d'une valeur normalisée représentant la part de + travail à effectuer par le processus, mais au lieu de se baser sur + un nombre de requêtes, on prend en compte la quantité de trafic que + ce processus a traité.

+ +

Si un répartiteur est configuré comme suit :

+ + + + + + + + + +
workerabc
lbfactor121
+ +

Cela signifie que nous souhaitons que b traite 2 fois + plus d'octets que a ou c. Cela n'entraîne pas + nécessairement que b va traiter deux fois plus de + requêtes, mais qu'il va traiter deux fois plus de trafic en termes + d'entrées/sorties. A cet effet, les tailles de la requête et de sa + réponse assocciée sont prises en compte par l'algorithme de + sélection et d'évaluation du trafic.

+ +

Note : les octets en entrée sont évalués avec la même pondération + que les octets en sortie.

+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.xml.fr b/docs/manual/mod/mod_lbmethod_bytraffic.xml.fr new file mode 100644 index 0000000000..68e8451a36 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_bytraffic.xml.fr @@ -0,0 +1,85 @@ + + + + + + + + + + + +mod_lbmethod_bytraffic +Algorithme de planification avec répartition de charge en +fonction d'un niveau de trafic pour le module +mod_proxy_balancer +Extension +mod_lbmethod_bytraffic.c +lbmethod_bytraffic_module +Dissocié de mod_proxy_balancer depuis la +version 2.3 + + +

Ce module ne fournit pas lui-même de directive de configuration. Il +nécessite les services de mod_proxy_balancer, et +fournit la méthode de répartition de charge bytraffic.

+
+mod_proxy +mod_proxy_balancer + +
+ Algorithme de répartition en fonction d'un certain + trafic +

Activé via lbmethod=bytraffic, l'idée directrice de + ce planificateur est similaire à celle de la méthode reposant sur le + nombre de requêtes, avec les différences suivantes :

+ +

lbfactor représente la quantité de trafic, en + octets, que nous voulons voir traitée par le processus. Il + s'agit là aussi d'une valeur normalisée représentant la part de + travail à effectuer par le processus, mais au lieu de se baser sur + un nombre de requêtes, on prend en compte la quantité de trafic que + ce processus a traité.

+ +

Si un répartiteur est configuré comme suit :

+ + + + + + + + + + +
workerabc
lbfactor121
+ +

Cela signifie que nous souhaitons que b traite 2 fois + plus d'octets que a ou c. Cela n'entraîne pas + nécessairement que b va traiter deux fois plus de + requêtes, mais qu'il va traiter deux fois plus de trafic en termes + d'entrées/sorties. A cet effet, les tailles de la requête et de sa + réponse assocciée sont prises en compte par l'algorithme de + sélection et d'évaluation du trafic.

+ +

Note : les octets en entrée sont évalués avec la même pondération + que les octets en sortie.

+ +
+ +
diff --git a/docs/manual/mod/mod_lbmethod_bytraffic.xml.meta b/docs/manual/mod/mod_lbmethod_bytraffic.xml.meta index acd2a9bb28..f746a85642 100644 --- a/docs/manual/mod/mod_lbmethod_bytraffic.xml.meta +++ b/docs/manual/mod/mod_lbmethod_bytraffic.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.html b/docs/manual/mod/mod_lbmethod_heartbeat.html index bcea1f8494..2a97af74f7 100644 --- a/docs/manual/mod/mod_lbmethod_heartbeat.html +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html @@ -3,3 +3,7 @@ URI: mod_lbmethod_heartbeat.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_lbmethod_heartbeat.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.html.fr b/docs/manual/mod/mod_lbmethod_heartbeat.html.fr new file mode 100644 index 0000000000..d61f9c6ed5 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_heartbeat.html.fr @@ -0,0 +1,109 @@ + + + + + +mod_lbmethod_heartbeat - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_lbmethod_heartbeat

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Algorithme d'ordonnancement de répartition de charge pour +mod_proxy_balancer basé sur le comptage de trafic Heartbeat
Statut:Expérimental
Identificateur de Module:lbmethod_heartbeat_module
Fichier Source:mod_lbmethod_heartbeat.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

lbmethod=heartbeat utilise les services du module + mod_heartmonitor pour répartir la charge entre les + serveurs d'origine qui fournissent des données heartbeat via le + module mod_heartbeat.

+ +

Son algorithme de répartition de charge favorise les serveurs dont la +capacité de traitement moyenne répartie dans le temps est la plus +importante, mais il ne sélectionne pas forcément le serveur qui présente +la disponibilité instantanée la plus importante. Les serveurs qui ne +possèdent aucun client actif sont pénalisés, car ils sont considérés +comme non entièrement initialisés.

+
+ + +
top
+

Directive HeartbeatStorage

+ + + + + + + +
Description:Indique le chemin permettant de lire les données +heartbeat
Syntaxe:HeartbeatStorage chemin-fichier
Défaut:HeartbeatStorage logs/hb.dat
Contexte:configuration du serveur
Statut:Expérimental
Module:mod_lbmethod_heartbeat
+

La directive HeartbeatStorage permet de + spécifier le chemin d'accès aux données heartbeat. Ce fichier texte + n'est utilisé que si le module mod_slotmem_shm + n'est pas chargé.

+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.xml.fr b/docs/manual/mod/mod_lbmethod_heartbeat.xml.fr new file mode 100644 index 0000000000..f012c9a568 --- /dev/null +++ b/docs/manual/mod/mod_lbmethod_heartbeat.xml.fr @@ -0,0 +1,69 @@ + + + + + + + + + + + +mod_lbmethod_heartbeat +Algorithme d'ordonnancement de répartition de charge pour +mod_proxy_balancer basé sur le comptage de trafic Heartbeat +Experimental +mod_lbmethod_heartbeat.c +lbmethod_heartbeat_module +Disponible depuis la version 2.3 d'Apache + + +

lbmethod=heartbeat utilise les services du module + mod_heartmonitor pour répartir la charge entre les + serveurs d'origine qui fournissent des données heartbeat via le + module mod_heartbeat.

+ +

Son algorithme de répartition de charge favorise les serveurs dont la +capacité de traitement moyenne répartie dans le temps est la plus +importante, mais il ne sélectionne pas forcément le serveur qui présente +la disponibilité instantanée la plus importante. Les serveurs qui ne +possèdent aucun client actif sont pénalisés, car ils sont considérés +comme non entièrement initialisés.

+
+ +mod_proxy +mod_proxy_balancer +mod_heartbeat +mod_heartmonitor + + +HeartbeatStorage +Indique le chemin permettant de lire les données +heartbeat +HeartbeatStorage chemin-fichier +HeartbeatStorage logs/hb.dat +server config + + +

La directive HeartbeatStorage permet de + spécifier le chemin d'accès aux données heartbeat. Ce fichier texte + n'est utilisé que si le module mod_slotmem_shm + n'est pas chargé.

+
+
+
diff --git a/docs/manual/mod/mod_lbmethod_heartbeat.xml.meta b/docs/manual/mod/mod_lbmethod_heartbeat.xml.meta index a2156919b3..8438aa0868 100644 --- a/docs/manual/mod/mod_lbmethod_heartbeat.xml.meta +++ b/docs/manual/mod/mod_lbmethod_heartbeat.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_ldap.html.fr b/docs/manual/mod/mod_ldap.html.fr index d710b85ceb..29ce7b05b8 100644 --- a/docs/manual/mod/mod_ldap.html.fr +++ b/docs/manual/mod/mod_ldap.html.fr @@ -29,6 +29,8 @@

Langues Disponibles:  en  |  fr 

+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
diff --git a/docs/manual/mod/mod_log_config.html b/docs/manual/mod/mod_log_config.html index 1e9233c966..e13c801045 100644 --- a/docs/manual/mod/mod_log_config.html +++ b/docs/manual/mod/mod_log_config.html @@ -4,6 +4,10 @@ URI: mod_log_config.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_log_config.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_log_config.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_log_config.html.fr b/docs/manual/mod/mod_log_config.html.fr new file mode 100644 index 0000000000..9ab7396670 --- /dev/null +++ b/docs/manual/mod/mod_log_config.html.fr @@ -0,0 +1,664 @@ + + + + + +mod_log_config - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_log_config

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+
Description:Conservation des connexions LDAP et services de mise en cache du résultat à destination des autres modules LDAP
Statut:Extension
+ + +
Description:Journalisation des requêtes envoyées au +serveur
Statut:Base
Identificateur de Module:log_config_module
Fichier Source:mod_log_config.c
+

Sommaire

+ +

Ce module apporte une grande souplesse dans la journalisation des + requêtes des clients. Les journaux sont écrits sous un format + personnalisable, et peuvent être enregistrés directement dans un + fichier, ou redirigés vers un programme externe. La journalisation + conditionnelle est supportée, si bien que des requêtes individuelles + peuvent être incluses ou exclues des journaux en fonction de leur + caractéristiques.

+ +

Ce module fournit trois directives : TransferLog crée un fichier + journal, LogFormat + définit un format personnalisé, et CustomLog définit un fichier journal et un format en + une seule étape. Pour journaliser les requêtes dans plusieurs + fichiers, vous pouvez utiliser plusieurs fois les directives + TransferLog et + CustomLog dans chaque serveur.

+ + +
top
+
+

Formats de journaux personnalisés

+ +

L'argument format des directives LogFormat et CustomLog est une chaîne de + caractères. Cette chaîne définit le format de la journalisation des + requêtes dans le fichier journal. Elle peut contenir des caractères + littéraux qui seront reproduits dans le fichier journal, et les + caractères de contrôle de style C "\n" et "\t" représentant + respectivement une nouvelle ligne et une tabulation. Les guillemets + et les anti-slashes littéraux doivent être échappés à l'aide + d'anti-slashes.

+ +

Les caractéristiques de la requête en elle-même sont journalisées + en insérant des directives "%" dans la chaîne de + format, celles-ci étant remplacées dans le fichier journal par + certaines valeurs comme suit :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Chaîne de formatDescription
%%Le signe "pourcentage"
%aL'adresse IP distante (voir le module + mod_remoteip).
%{c}aAdresse IP distante de la connexion(voir le module + mod_remoteip)
%AL'adresse IP locale
%BLa taille de la réponse en octets, en excluant les en-têtes + HTTP.
%bLa taille de la réponse en octets, en excluant les en-têtes + HTTP. Au format CLF , c'est à dire un '-' à la + place d'un 0 lorsqu'aucun octet n'est renvoyé.
%{NOMVAR}CLe contenu du cookie NOMVAR dans la requête + envoyée au serveur. Seuls les cookies version 0 sont pleinement + supportés.
%DLe temps mis à servir la requête, en + microsecondes.
%{NOMVAR}eLe contenu de la variable d'environnement + NOMVAR
%fNom de fichier
%hServeur distant. Contiendra l'adresse IP si la directive + HostnameLookups est définie + à Off, ce qui est sa valeur par défaut. Si cette + adresse IP n'est enregistrée que pour certains serveurs, vous + avez probablement défini des directives de contrôle d'accès qui + mentionnent ces derniers par leurs noms. Voir la documentation de Require + host.
%HLe protocole de la requête
%{NOMVAR}iLe contenu des lignes d'en-tête + NOMVAR: dans la requête envoyée au + serveur. Ces en-têtes sont ajoutés par d'autres modules (par + exemple mod_headers). Si vous êtes intéressé + par ce qu'était l'en-tête de la requête avant d'être modifié + par la plupart des modules, utilisez + mod_setenvif pour copier l'en-tête dans une + variable d'environnement interne et journaliser sa valeur via + le champ %{VARNAME}e décrit plus haut. + +
%kNombre de requêtes persistantes en cours pour cette + connexion. Interessant si la directive KeepAlive est utilisée ; par exemple, + '1' signifie la première requête après la requête initiale, '2' + la seconde, etc... ; autrement, il s'agit toujours de 0 + (indiquant la requête initiale).
%lLe nom de connexion distant (en provenance d'identd, si + disponible). Affiche un tiret, sauf si + mod_ident est présent et si IdentityCheck est à + On.
%LL'identifiant du message de journalisation de la requête + dans le journal des erreurs (ou '-' si aucun message n'a + été enregistré dans le journal des erreurs pour cette requête)
%mLa méthode de la requête
%{NOMVAR}nLe contenu de la note NOMVAR en provenance d'un + autre module.
%{NOMVAR}oLe contenu de la ligne d'en-tête + NOMVAR: de la réponse.
%pLe port canonique du serveur servant la requête
%{format}pLe port canonique du serveur servant la requête ou le + véritable port du serveur ou le véritable port du client. les + formats valides sont canonical, local, + ou remote. +
%PLe numéro de processus du processus enfant qui a servi la + requête.
%{format}PLe numéro de processus ou le numéro de thread du processus + enfant qui a servi la requête. Les formats valides sont + pid, tid, et hextid. + hextid nécessite APR version 1.2.0 ou supérieure. +
%qLa chaîne d'arguments (préfixée par un ? si une + chaîne d'arguments existe, sinon une chaîne vide)
%rLa première ligne de la requête
%RLe gestionnaire qui génère la réponse (s'il y en a un).
%sStatut. Pour les requêtes redirigées en interne, il s'agit + du statut de la requête *originale* --- %>s pour + la dernière.
%tDate à laquelle la requête a été reçue (au format anglais + standard)
%{format}tLa date, sous la forme spécifiée par format, qui devrait + être au format étendu strftime(3) (éventuellement + localisé). Si le format commence par begin: (valeur + par défaut), la date est extraite au début du traitement de la + requête ; s'il commence par end:, la date + correspond au moment où l'entrée du journal est inscrite, par + conséquent vers la fin du traitement de la requête. Hormis les + formats supportés par strftime(3), les formats + suivants sont aussi disponibles : + + + + + + +
secnombre de secondes depuis Epoch
msecnombre de millisecondes depuis Epoch
usecnombre de microsecondes depuis Epoch
msec_fracfraction de milliseconde
usec_fracfraction de microseconde
+ Ces symboles ne peuvent pas être combinés entre eux ou avec un + formatage strftime(3) dans la même chaîne de + format. Par contre, vous pouvez utiliser plusieurs symboles + %{format}t.
%TLe temps mis pour servir la requête, en secondes.
%{UNIT}TLe temps mis pour traiter la requête dans une unité définie + par UNIT. Les valeurs d'unité valides sont + ms pour millisecondes, us pour + microsecondes et s pour secondes. Si + UNIT est omis, la valeur de l'unité par défaut est + la seconde ; spécifier la valeur d'unité us revient + à utiliser le format %D. La possibilité de + spécifier une valeur d'unité avec le format %T est + disponible depuis la version 2.4.13 du serveur HTTP Apache.
%uL'utilisateur distant (en provenance d'auth ; peut être faux + si le statut de retour (%s) est 401).
%ULe chemin de la requête, à l'exclusion de toute chaîne + d'arguments.
%vLe nom canonique du serveur qui a servi la requête, défini + par la directive ServerName.
%VLa nom du serveur en tenant compte de la définition de la + directive UseCanonicalName.
%XStatut de la connexion lorsque la réponse a été renvoyée + : + + + + + + + + + +
X =connexion abandonnée avant l'envoi de la réponse.
+ =la connexion peut rester ouverte après l'envoi de la + réponse.
- = la connexion sera fermée après l'envoi de la + réponse.
+ +
%ILe nombre d'octets reçus, en comptant la requête et les + en-têtes, ne peut être nul. Nécessite l'activation de + mod_logio.
%ONombre d'octets envoyés, y compris les en-têtes. Peut être + nul dans les rares cas où une requête est avortée avant que la + réponse ne soit envoyée. Nécessite l'activation de + mod_logio.
%SNombre d'octets transmis en émission et réception y compris + la requête et les en-têtes ; cette valeur ne peut pas être + nulle, il s'agit de la combinaison de %I et %O. Vous devez + activer mod_logio pour utiliser cette chaîne de + format.
%{VARNAME}^tiLe contenu de la variable VARNAME: + spécifiée dans la requête envoyée au serveur.
%{VARNAME}^toLe contenu de la variable VARNAME: + spécifiée dans la réponse envoyée par le serveur.
+ +

Modificateurs

+ +

Il est possible de restreindre l'enregistrement de certains + éléments + en fonction du code de statut de la réponse, en insérant une liste + de codes de statut séparés par des virgules immédiatement après le + caractère "%". Par exemple, "%400,501{User-agent}i" + n'enregistrera l'en-tête User-agent que dans le cas + d'une erreur 400 ou 501. Avec les autres codes de statut, c'est la + chaîne littérale "-" qui sera enregistrée. La liste + de codes peut être précédée d'un "!" pour inverser la + condition : "%!200,304,302{Referer}i" enregistre + l'en-tête Referer pour toutes les requêtes qui + ne renvoient pas un des trois codes spécifiés.

+ +

Les modificateurs "<" et ">" peuvent être utilisés pour + les requêtes qui ont été redirigées en interne afin de choisir si + c'est respectivement la requête originale ou finale qui doit être + consultée. Par défaut, les directives %s, %U, %T, %D, + et %r consultent la requête originale, alors que + toutes les autres consultent la requête finale. Ainsi, par + exemple, on peut utiliser %>s pour enregistrer le + statut final de la requête, et %<u pour + enregistrer l'utilisateur authentifié à l'origine pour une requête + redirigée en interne vers une ressource sans authentification.

+ + + +

Quelques Notes

+ +

Pour des raisons de sécurité, à partir de la version 2.0.46, + les caractères non imprimables et autres caractères spéciaux dans + les directives %r, %i et %o + doivent être échappés à l'aide des séquences + \xhh, + où hh est le code hexadécimal du caractère spécial. + Comme exceptions à cette règle, les caractères " et + \ doivent être échappés par un anti-slash, et tous + les "blancs" doivent être écrits selon leur notation de style C + (\n, \t, etc...). Avant la version + 2.0.46, aucun échappement n'était effectué sur ces chaînes, et il + fallait être très prudent lors de l'exploitation des journaux + bruts.

+ +

A la différence de la version 1.3, depuis httpd 2.0, les chaînes + de format %b et %B ne représentent pas + le nombre d'octets envoyés au client, mais simplement la taille en + octets de la réponse HTTP (les deux étant différents, par exemple, + si la connexion est abandonnée, ou si SSL est utilisé). Le format + %O fourni par mod_logio, + enregistrera le nombre réel d'octets envoyés sur le réseau.

+ +

Note : mod_cache est implémenté en tant que + gestionnaire basique et non en tant que gestionnaire standard. + C'est pourquoi la chaîne de format %R ne renverra pas + d'information à propos du gestionnaire lorsqu'une mise en cache de + contenu entre en jeu.

+ +
+

Note : la présence du caractère '^' au début d'une chaîne de + format de trois caractères n'a aucune incidence sur la + signification de cette chaîne, mais il doit être + le premier caractère de toute chaîne de format de trois caractères + nouvellement créée, afin d'éviter d'éventuels conflits avec des + chaînes de format qui utilisent des caractères littéraux adjacents à un + spécificateur de format tel que "%Dus".

+
+ + + +

Exemples

+ +

Quelques chaînes de format couramment utilisées :

+ +
+
Format de journal courant (CLF)
+
"%h %l %u %t \"%r\" %>s %b"
+ +
Format de journal courant avec un serveur virtuel
+
"%v %h %l %u %t \"%r\" %>s %b"
+ +
Format de journal NCSA étandu/combiné
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""
+ +
Format de journal de la page qui contient le lien vers la + page concernée (Referer)
+
"%{Referer}i -> %U"
+ +
Format de journal de l'agent (Navigateur)
+
"%{User-agent}i"
+
+ +

Vous pouvez utiliser plusieurs fois la directive + %{format}t pour construire un format de temps + utilisant les symboles de format étendus tels que + msec_frac :

+
+
Format de temps prenant en compte les milisecondes
+
"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"
+ +
+ + +
top
+
+

Considérations concernant la +sécurité

+

Voir le document conseils à matière de + sécurité pour plus de détails sur les raisons pour lesquelles + votre sécurité pourrait être compromise, si le répertoire où sont + stockés les fichiers journaux sont inscriptibles par tout autre + utilisateur que celui qui démarre le serveur.

+
+
top
+

Directive BufferedLogs

+ + + + + + + +
Description:Enregistre les entrées du journal dans un tampon en mémoire +avant de les écrire sur disque
Syntaxe:BufferedLogs On|Off
Défaut:BufferedLogs Off
Contexte:configuration du serveur
Statut:Base
Module:mod_log_config
+

Lorsque la directive BufferedLogs est à + "on", mod_log_config stocke de nombreuses entrées + du journal en mémoire, et les écrit d'un seul bloc sur disque, + plutôt que de les écrire après chaque requête. Sur certains + systèmes, ceci peut améliorer l'efficacité des accès disque, et par + conséquent les performances. La directive ne peut être définie + qu'une seule fois pour l'ensemble du serveur ; elle ne peut pas être + définie au niveau d'un serveur virtuel.

+ +
Cette directive doit être utilisée avec + précautions car un crash peut provoquer la perte de données de + journalisation.
+ +
+
top
+

Directive CustomLog

+ + + + + + +
Description:Définit le nom et le format du fichier +journal
Syntaxe:CustomLog fichier|pipe|provider +format|alias +[env=[!]variable-environnement| +expr=expression]
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_log_config
+

La directive CustomLog permet de contrôler + la journalisation des requêtes destinées au serveur. Un format de + journal est spécifié, et la journalisation peut s'effectuer de + manière conditionnelle en fonction des caractéristiques de la + requête en utilisant des variables d'environnement.

+ +

Le premier argument, qui spécifie l'emplacement où les journaux + seront écrits, accepte deux types de valeurs :

+ +
+
fichier
+
Un nom de fichier, relatif au répertoire défini par la + directive ServerRoot.
+ +
pipe
+
Le caractère pipe "|", suivi du chemin vers un + programme qui recevra les informations de la journalisation sur + son entrée standard. Voir les notes à propos de la journalisation redirigée pour plus + d'informations. + +

Sécurité :

+

Si les journaux sont redirigés vers un programme, ce dernier + s'exécutera sous l'utilisateur qui a démarré + httpd. Ce sera l'utilisateur root si le serveur + a été démarré par root ; vérifiez que le programme est + sécurisé.

+
+

Note

+

Lors de la spécification d'un chemin de fichier sur les + plate-formes non-Unix, il faut prendre soin de ne pas oublier + que seuls les slashes directs doivent être utilisés, même si la + plate-forme autorise l'emploi d'anti-slashes. D'une manière + générale, c'est une bonne idée que de n'utiliser que des slashes + directs dans les fichiers de configuration.

+
+
provider
+
Les messages CustomLog peuvent aussi utiliser comme cible les + modules qui implémentent des fournisseurs ErrorLog. A cet effet, + utilisez la syntaxe "provider:argument". Comme fournisseur, vous + pouvez par exemple utiliser mod_journald ou + mod_syslog : +
# Journalisation CustomLog vers journald
+CustomLog "journald" "%h %l %u %t \"%r\" %>s %b"
+
+# Journalisation CustomLog vers syslog avec l'option "user"
+CustomLog "syslog:user" "%h %l %u %t \"%r\" %>s %b"
+ +
+
+ +

Le second argument permet de définir ce qui va être écrit dans le + fichier journal. Il peut contenir soit un alias prédéfini + par une directive LogFormat, soit une chaîne de + format explicite comme décrit dans la section formats de journaux.

+ +

Par exemple, les deux blocs de directives suivants produisent le + même effet :

+ +
# Journal personnalisé avec alias de format
+LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog "logs/access_log" common
+
+# Journal personnalisé avec chaîne de format explicite
+CustomLog "logs/access_log" "%h %l %u %t \"%r\" %>s %b"
+ + +

Le troisième argument est optionnel et permet de contrôler si une + requête doit être ou non journalisée. Dans le cas d'une clause + 'env=!nom', la condition peut être la + présence ou l'absence d'une variable particulière dans + l'environnement du serveur. Dans le cas + d'une clause 'expr=expression', la condition consiste + en une expression booléenne + quelconque. Si la condition n'est pas vérifiée, la requête ne sera + pas journalisée. D'éventuelles références à des en-têtes HTTP dans + l'expression rationnelle n'entraîneront pas l'ajout des noms + d'en-tête correspondants à l'en-tête Vary.

+ +

Les variables d'environnement peuvent être définies au niveau de + chaque requête en utilisant les modules + mod_setenvif et/ou mod_rewrite. + Par exemple, si vous voulez enregistrer les requêtes pour toutes les + images GIF sur votre serveur dans un fichier journal séparé, et pas + dans votre journal principal, vous pouvez utiliser :

+ +
SetEnvIf Request_URI \.gif$ gif-image
+CustomLog "gif-requests.log" common env=gif-image
+CustomLog "nongif-requests.log" common env=!gif-image
+ + +

Ou, pour reproduire le comportement de l'ancienne directive + RefererIgnore, vous pouvez utiliser :

+ +
SetEnvIf Referer example\.com localreferer
+CustomLog "referer.log" referer env=!localreferer
+ + +
+
top
+

Directive GlobalLog

+ + + + + + + +
Description:Définit le nom et le format du fichier journal
Syntaxe:GlobalLog file|pipe|provider +format|nickname +[env=[!]environment-variable| +expr=expression]
Contexte:configuration du serveur
Statut:Base
Module:mod_log_config
Compatibilité:Disponible à partir de la version 2.4.19 du serveur HTTP Apache
+ +

La directive GlobalLog permet de spécifier un + journal partagé entre le serveur principal et tous les serveurs virtuels + définis.

+ +

Elle est identique à la directive CustomLog à ces + différences près :

+
    +
  • Elle n'est pas valide dans un contexte de serveur virtuel.
  • +
  • A la différence d'une directive CustomLog + définie globalement, elle est prise en compte par les serveurs virtuels + qui définissent leur propre directive CustomLog.
  • +
+ +
+
top
+

Directive LogFormat

+ + + + + + + +
Description:Décrit un format utilisable dans un fichier +journal
Syntaxe:LogFormat format|alias +[alias]
Défaut:LogFormat "%h %l %u %t \"%r\" %>s %b"
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_log_config
+

Cette directive permet de spécifier le format du fichier journal + des accès.

+ +

La directive LogFormat se présente sous + deux formes. Sous la première forme, qui ne possède qu'un seul + argument, la directive définit le format qui sera utilisé dans les + journaux spécifiés par les directives + TransferLog ultérieures. L'argument unique + peut contenir un format explicite comme décrit dans la + section formats de journaux personnalisés + ci-dessus. Il peut aussi contenir un alias faisant + référence à un format de journal prédéfini par une directive + LogFormat comme décrit plus loin.

+ +

Sous sa seconde forme, la directive + LogFormat associe un format + explicite à un alias. Cet alias peut + ensuite s'utiliser dans les directives + LogFormat ou CustomLog ultérieures, ce qui + évite d'avoir à répéter l'ensemble de la chaîne de format. Une + directive LogFormat qui définit un alias + ne fait rien d'autre -- c'est à dire qu'elle ne + fait que définir l'alias, elle n'applique pas le format et n'en + fait pas le format par défaut. Par conséquent, elle n'affecte pas + les directives TransferLog ultérieures. En + outre, la directive LogFormat ne peut pas + utiliser un alias pour en définir un autre. Notez que l'alias ne + doit pas contenir de caractère pourcent (%).

+ +

Exemple

LogFormat "%v %h %l %u %t \"%r\" %>s %b" serveur_virtuel_commun
+
+ + +
+
top
+

Directive TransferLog

+ + + + + + +
Description:Spécifie l'emplacement d'un fichier journal
Syntaxe:TransferLog fichier|pipe
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_log_config
+

Cette directive possède exactement les mêmes arguments et produit + les mêmes effets que la directive CustomLog, à l'exception qu'elle + ne permet pas de spécifier un format de journal explicite ou la + journalisation conditionnelle des requêtes. En l'occurrence, le + format de journal est déterminé par la dernière définition d'une + directive LogFormat + qui ne définit pas d'alias. Si aucun format particulier n'a été + spécifié, c'est le Common Log Format qui sera utilisé.

+ +

Exemple

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
+TransferLog "logs/access_log"
+
+ +
+ +
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_config.xml.fr b/docs/manual/mod/mod_log_config.xml.fr new file mode 100644 index 0000000000..1ab198dc12 --- /dev/null +++ b/docs/manual/mod/mod_log_config.xml.fr @@ -0,0 +1,698 @@ + + + + + + + + + + + +mod_log_config +Journalisation des requêtes envoyées au +serveur +Base +mod_log_config.c +log_config_module + + +

Ce module apporte une grande souplesse dans la journalisation des + requêtes des clients. Les journaux sont écrits sous un format + personnalisable, et peuvent être enregistrés directement dans un + fichier, ou redirigés vers un programme externe. La journalisation + conditionnelle est supportée, si bien que des requêtes individuelles + peuvent être incluses ou exclues des journaux en fonction de leur + caractéristiques.

+ +

Ce module fournit trois directives : TransferLog crée un fichier + journal, LogFormat + définit un format personnalisé, et CustomLog définit un fichier journal et un format en + une seule étape. Pour journaliser les requêtes dans plusieurs + fichiers, vous pouvez utiliser plusieurs fois les directives + TransferLog et + CustomLog dans chaque serveur.

+
+Les fichiers journaux +d'Apache + +
Formats de journaux personnalisés + +

L'argument format des directives LogFormat et CustomLog est une chaîne de + caractères. Cette chaîne définit le format de la journalisation des + requêtes dans le fichier journal. Elle peut contenir des caractères + littéraux qui seront reproduits dans le fichier journal, et les + caractères de contrôle de style C "\n" et "\t" représentant + respectivement une nouvelle ligne et une tabulation. Les guillemets + et les anti-slashes littéraux doivent être échappés à l'aide + d'anti-slashes.

+ +

Les caractéristiques de la requête en elle-même sont journalisées + en insérant des directives "%" dans la chaîne de + format, celles-ci étant remplacées dans le fichier journal par + certaines valeurs comme suit :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Chaîne de formatDescription
%%Le signe "pourcentage"
%aL'adresse IP distante (voir le module + mod_remoteip).
%{c}aAdresse IP distante de la connexion(voir le module + mod_remoteip)
%AL'adresse IP locale
%BLa taille de la réponse en octets, en excluant les en-têtes + HTTP.
%bLa taille de la réponse en octets, en excluant les en-têtes + HTTP. Au format CLF , c'est à dire un '-' à la + place d'un 0 lorsqu'aucun octet n'est renvoyé.
%{NOMVAR}CLe contenu du cookie NOMVAR dans la requête + envoyée au serveur. Seuls les cookies version 0 sont pleinement + supportés.
%DLe temps mis à servir la requête, en + microsecondes.
%{NOMVAR}eLe contenu de la variable d'environnement + NOMVAR
%fNom de fichier
%hServeur distant. Contiendra l'adresse IP si la directive + HostnameLookups est définie + à Off, ce qui est sa valeur par défaut. Si cette + adresse IP n'est enregistrée que pour certains serveurs, vous + avez probablement défini des directives de contrôle d'accès qui + mentionnent ces derniers par leurs noms. Voir la documentation de Require + host.
%HLe protocole de la requête
%{NOMVAR}iLe contenu des lignes d'en-tête + NOMVAR: dans la requête envoyée au + serveur. Ces en-têtes sont ajoutés par d'autres modules (par + exemple mod_headers). Si vous êtes intéressé + par ce qu'était l'en-tête de la requête avant d'être modifié + par la plupart des modules, utilisez + mod_setenvif pour copier l'en-tête dans une + variable d'environnement interne et journaliser sa valeur via + le champ %{VARNAME}e décrit plus haut. + +
%kNombre de requêtes persistantes en cours pour cette + connexion. Interessant si la directive KeepAlive est utilisée ; par exemple, + '1' signifie la première requête après la requête initiale, '2' + la seconde, etc... ; autrement, il s'agit toujours de 0 + (indiquant la requête initiale).
%lLe nom de connexion distant (en provenance d'identd, si + disponible). Affiche un tiret, sauf si + mod_ident est présent et si IdentityCheck est à + On.
%LL'identifiant du message de journalisation de la requête + dans le journal des erreurs (ou '-' si aucun message n'a + été enregistré dans le journal des erreurs pour cette requête)
%mLa méthode de la requête
%{NOMVAR}nLe contenu de la note NOMVAR en provenance d'un + autre module.
%{NOMVAR}oLe contenu de la ligne d'en-tête + NOMVAR: de la réponse.
%pLe port canonique du serveur servant la requête
%{format}pLe port canonique du serveur servant la requête ou le + véritable port du serveur ou le véritable port du client. les + formats valides sont canonical, local, + ou remote. +
%PLe numéro de processus du processus enfant qui a servi la + requête.
%{format}PLe numéro de processus ou le numéro de thread du processus + enfant qui a servi la requête. Les formats valides sont + pid, tid, et hextid. + hextid nécessite APR version 1.2.0 ou supérieure. +
%qLa chaîne d'arguments (préfixée par un ? si une + chaîne d'arguments existe, sinon une chaîne vide)
%rLa première ligne de la requête
%RLe gestionnaire qui génère la réponse (s'il y en a un).
%sStatut. Pour les requêtes redirigées en interne, il s'agit + du statut de la requête *originale* --- %>s pour + la dernière.
%tDate à laquelle la requête a été reçue (au format anglais + standard)
%{format}tLa date, sous la forme spécifiée par format, qui devrait + être au format étendu strftime(3) (éventuellement + localisé). Si le format commence par begin: (valeur + par défaut), la date est extraite au début du traitement de la + requête ; s'il commence par end:, la date + correspond au moment où l'entrée du journal est inscrite, par + conséquent vers la fin du traitement de la requête. Hormis les + formats supportés par strftime(3), les formats + suivants sont aussi disponibles : + + + + + + +
secnombre de secondes depuis Epoch
msecnombre de millisecondes depuis Epoch
usecnombre de microsecondes depuis Epoch
msec_fracfraction de milliseconde
usec_fracfraction de microseconde
+ Ces symboles ne peuvent pas être combinés entre eux ou avec un + formatage strftime(3) dans la même chaîne de + format. Par contre, vous pouvez utiliser plusieurs symboles + %{format}t.
%TLe temps mis pour servir la requête, en secondes.
%{UNIT}TLe temps mis pour traiter la requête dans une unité définie + par UNIT. Les valeurs d'unité valides sont + ms pour millisecondes, us pour + microsecondes et s pour secondes. Si + UNIT est omis, la valeur de l'unité par défaut est + la seconde ; spécifier la valeur d'unité us revient + à utiliser le format %D. La possibilité de + spécifier une valeur d'unité avec le format %T est + disponible depuis la version 2.4.13 du serveur HTTP Apache.
%uL'utilisateur distant (en provenance d'auth ; peut être faux + si le statut de retour (%s) est 401).
%ULe chemin de la requête, à l'exclusion de toute chaîne + d'arguments.
%vLe nom canonique du serveur qui a servi la requête, défini + par la directive ServerName.
%VLa nom du serveur en tenant compte de la définition de la + directive UseCanonicalName.
%XStatut de la connexion lorsque la réponse a été renvoyée + : + + + + + + + + + +
X =connexion abandonnée avant l'envoi de la réponse.
+ =la connexion peut rester ouverte après l'envoi de la + réponse.
- = la connexion sera fermée après l'envoi de la + réponse.
+ +
%ILe nombre d'octets reçus, en comptant la requête et les + en-têtes, ne peut être nul. Nécessite l'activation de + mod_logio.
%ONombre d'octets envoyés, y compris les en-têtes. Peut être + nul dans les rares cas où une requête est avortée avant que la + réponse ne soit envoyée. Nécessite l'activation de + mod_logio.
%SNombre d'octets transmis en émission et réception y compris + la requête et les en-têtes ; cette valeur ne peut pas être + nulle, il s'agit de la combinaison de %I et %O. Vous devez + activer mod_logio pour utiliser cette chaîne de + format.
%{VARNAME}^tiLe contenu de la variable VARNAME: + spécifiée dans la requête envoyée au serveur.
%{VARNAME}^toLe contenu de la variable VARNAME: + spécifiée dans la réponse envoyée par le serveur.
+ +
Modificateurs + +

Il est possible de restreindre l'enregistrement de certains + éléments + en fonction du code de statut de la réponse, en insérant une liste + de codes de statut séparés par des virgules immédiatement après le + caractère "%". Par exemple, "%400,501{User-agent}i" + n'enregistrera l'en-tête User-agent que dans le cas + d'une erreur 400 ou 501. Avec les autres codes de statut, c'est la + chaîne littérale "-" qui sera enregistrée. La liste + de codes peut être précédée d'un "!" pour inverser la + condition : "%!200,304,302{Referer}i" enregistre + l'en-tête Referer pour toutes les requêtes qui + ne renvoient pas un des trois codes spécifiés.

+ +

Les modificateurs "<" et ">" peuvent être utilisés pour + les requêtes qui ont été redirigées en interne afin de choisir si + c'est respectivement la requête originale ou finale qui doit être + consultée. Par défaut, les directives %s, %U, %T, %D, + et %r consultent la requête originale, alors que + toutes les autres consultent la requête finale. Ainsi, par + exemple, on peut utiliser %>s pour enregistrer le + statut final de la requête, et %<u pour + enregistrer l'utilisateur authentifié à l'origine pour une requête + redirigée en interne vers une ressource sans authentification.

+ +
+ +
Quelques Notes + +

Pour des raisons de sécurité, à partir de la version 2.0.46, + les caractères non imprimables et autres caractères spéciaux dans + les directives %r, %i et %o + doivent être échappés à l'aide des séquences + \xhh, + où hh est le code hexadécimal du caractère spécial. + Comme exceptions à cette règle, les caractères " et + \ doivent être échappés par un anti-slash, et tous + les "blancs" doivent être écrits selon leur notation de style C + (\n, \t, etc...). Avant la version + 2.0.46, aucun échappement n'était effectué sur ces chaînes, et il + fallait être très prudent lors de l'exploitation des journaux + bruts.

+ +

A la différence de la version 1.3, depuis httpd 2.0, les chaînes + de format %b et %B ne représentent pas + le nombre d'octets envoyés au client, mais simplement la taille en + octets de la réponse HTTP (les deux étant différents, par exemple, + si la connexion est abandonnée, ou si SSL est utilisé). Le format + %O fourni par mod_logio, + enregistrera le nombre réel d'octets envoyés sur le réseau.

+ +

Note : mod_cache est implémenté en tant que + gestionnaire basique et non en tant que gestionnaire standard. + C'est pourquoi la chaîne de format %R ne renverra pas + d'information à propos du gestionnaire lorsqu'une mise en cache de + contenu entre en jeu.

+ + +

Note : la présence du caractère '^' au début d'une chaîne de + format de trois caractères n'a aucune incidence sur la + signification de cette chaîne, mais il doit être + le premier caractère de toute chaîne de format de trois caractères + nouvellement créée, afin d'éviter d'éventuels conflits avec des + chaînes de format qui utilisent des caractères littéraux adjacents à un + spécificateur de format tel que "%Dus".

+
+ +
+ +
Exemples + +

Quelques chaînes de format couramment utilisées :

+ +
+
Format de journal courant (CLF)
+
"%h %l %u %t \"%r\" %>s %b"
+ +
Format de journal courant avec un serveur virtuel
+
"%v %h %l %u %t \"%r\" %>s %b"
+ +
Format de journal NCSA étandu/combiné
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""
+ +
Format de journal de la page qui contient le lien vers la + page concernée (Referer)
+
"%{Referer}i -> %U"
+ +
Format de journal de l'agent (Navigateur)
+
"%{User-agent}i"
+
+ +

Vous pouvez utiliser plusieurs fois la directive + %{format}t pour construire un format de temps + utilisant les symboles de format étendus tels que + msec_frac :

+
+
Format de temps prenant en compte les milisecondes
+
"%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t"
+ +
+ +
+
+ +
Considérations concernant la +sécurité +

Voir le document conseils à matière de + sécurité pour plus de détails sur les raisons pour lesquelles + votre sécurité pourrait être compromise, si le répertoire où sont + stockés les fichiers journaux sont inscriptibles par tout autre + utilisateur que celui qui démarre le serveur.

+
+ + +BufferedLogs +Enregistre les entrées du journal dans un tampon en mémoire +avant de les écrire sur disque +BufferedLogs On|Off +BufferedLogs Off +server config + + +

Lorsque la directive BufferedLogs est à + "on", mod_log_config stocke de nombreuses entrées + du journal en mémoire, et les écrit d'un seul bloc sur disque, + plutôt que de les écrire après chaque requête. Sur certains + systèmes, ceci peut améliorer l'efficacité des accès disque, et par + conséquent les performances. La directive ne peut être définie + qu'une seule fois pour l'ensemble du serveur ; elle ne peut pas être + définie au niveau d'un serveur virtuel.

+ + Cette directive doit être utilisée avec + précautions car un crash peut provoquer la perte de données de + journalisation. +
+
+ + +CookieLog +Définit le nom du fichier pour la journalisation des +cookies +CookieLog nom-fichier +server configvirtual host + +Cette directive est obsolète. + + +

La directive CookieLog permet de définir + le nom du fichier pour la journalisation des cookies. Le nom du + fichier est relatif au répertoire défini par la directive ServerRoot. Cette directive n'est présente + qu'à des fins de compatibilité avec with mod_cookies, + et est obsolète.

+
+
+ + +CustomLog +Définit le nom et le format du fichier +journal +CustomLog fichier|pipe|provider +format|alias +[env=[!]variable-environnement| +expr=expression] +server configvirtual host + + + +

La directive CustomLog permet de contrôler + la journalisation des requêtes destinées au serveur. Un format de + journal est spécifié, et la journalisation peut s'effectuer de + manière conditionnelle en fonction des caractéristiques de la + requête en utilisant des variables d'environnement.

+ +

Le premier argument, qui spécifie l'emplacement où les journaux + seront écrits, accepte deux types de valeurs :

+ +
+
fichier
+
Un nom de fichier, relatif au répertoire défini par la + directive ServerRoot.
+ +
pipe
+
Le caractère pipe "|", suivi du chemin vers un + programme qui recevra les informations de la journalisation sur + son entrée standard. Voir les notes à propos de la journalisation redirigée pour plus + d'informations. + + Sécurité : +

Si les journaux sont redirigés vers un programme, ce dernier + s'exécutera sous l'utilisateur qui a démarré + httpd. Ce sera l'utilisateur root si le serveur + a été démarré par root ; vérifiez que le programme est + sécurisé.

+
+ Note +

Lors de la spécification d'un chemin de fichier sur les + plate-formes non-Unix, il faut prendre soin de ne pas oublier + que seuls les slashes directs doivent être utilisés, même si la + plate-forme autorise l'emploi d'anti-slashes. D'une manière + générale, c'est une bonne idée que de n'utiliser que des slashes + directs dans les fichiers de configuration.

+
+
provider
+
Les messages CustomLog peuvent aussi utiliser comme cible les + modules qui implémentent des fournisseurs ErrorLog. A cet effet, + utilisez la syntaxe "provider:argument". Comme fournisseur, vous + pouvez par exemple utiliser mod_journald ou + mod_syslog : + +# Journalisation CustomLog vers journald +CustomLog "journald" "%h %l %u %t \"%r\" %>s %b" + +# Journalisation CustomLog vers syslog avec l'option "user" +CustomLog "syslog:user" "%h %l %u %t \"%r\" %>s %b" + +
+
+ +

Le second argument permet de définir ce qui va être écrit dans le + fichier journal. Il peut contenir soit un alias prédéfini + par une directive LogFormat, soit une chaîne de + format explicite comme décrit dans la section formats de journaux.

+ +

Par exemple, les deux blocs de directives suivants produisent le + même effet :

+ + +# Journal personnalisé avec alias de format +LogFormat "%h %l %u %t \"%r\" %>s %b" common +CustomLog "logs/access_log" common + +# Journal personnalisé avec chaîne de format explicite +CustomLog "logs/access_log" "%h %l %u %t \"%r\" %>s %b" + + +

Le troisième argument est optionnel et permet de contrôler si une + requête doit être ou non journalisée. Dans le cas d'une clause + 'env=!nom', la condition peut être la + présence ou l'absence d'une variable particulière dans + l'environnement du serveur. Dans le cas + d'une clause 'expr=expression', la condition consiste + en une expression booléenne + quelconque. Si la condition n'est pas vérifiée, la requête ne sera + pas journalisée. D'éventuelles références à des en-têtes HTTP dans + l'expression rationnelle n'entraîneront pas l'ajout des noms + d'en-tête correspondants à l'en-tête Vary.

+ +

Les variables d'environnement peuvent être définies au niveau de + chaque requête en utilisant les modules + mod_setenvif et/ou mod_rewrite. + Par exemple, si vous voulez enregistrer les requêtes pour toutes les + images GIF sur votre serveur dans un fichier journal séparé, et pas + dans votre journal principal, vous pouvez utiliser :

+ + +SetEnvIf Request_URI \.gif$ gif-image +CustomLog "gif-requests.log" common env=gif-image +CustomLog "nongif-requests.log" common env=!gif-image + + +

Ou, pour reproduire le comportement de l'ancienne directive + RefererIgnore, vous pouvez utiliser :

+ + +SetEnvIf Referer example\.com localreferer +CustomLog "referer.log" referer env=!localreferer + +
+
+ + +LogFormat +Décrit un format utilisable dans un fichier +journal +LogFormat format|alias +[alias] +LogFormat "%h %l %u %t \"%r\" %>s %b" +server configvirtual host + + + +

Cette directive permet de spécifier le format du fichier journal + des accès.

+ +

La directive LogFormat se présente sous + deux formes. Sous la première forme, qui ne possède qu'un seul + argument, la directive définit le format qui sera utilisé dans les + journaux spécifiés par les directives + TransferLog ultérieures. L'argument unique + peut contenir un format explicite comme décrit dans la + section formats de journaux personnalisés + ci-dessus. Il peut aussi contenir un alias faisant + référence à un format de journal prédéfini par une directive + LogFormat comme décrit plus loin.

+ +

Sous sa seconde forme, la directive + LogFormat associe un format + explicite à un alias. Cet alias peut + ensuite s'utiliser dans les directives + LogFormat ou CustomLog ultérieures, ce qui + évite d'avoir à répéter l'ensemble de la chaîne de format. Une + directive LogFormat qui définit un alias + ne fait rien d'autre -- c'est à dire qu'elle ne + fait que définir l'alias, elle n'applique pas le format et n'en + fait pas le format par défaut. Par conséquent, elle n'affecte pas + les directives TransferLog ultérieures. En + outre, la directive LogFormat ne peut pas + utiliser un alias pour en définir un autre. Notez que l'alias ne + doit pas contenir de caractère pourcent (%).

+ + Exemple + + LogFormat "%v %h %l %u %t \"%r\" %>s %b" serveur_virtuel_commun + + + +
+
+ + +TransferLog +Spécifie l'emplacement d'un fichier journal +TransferLog fichier|pipe +server configvirtual host + + + +

Cette directive possède exactement les mêmes arguments et produit + les mêmes effets que la directive CustomLog, à l'exception qu'elle + ne permet pas de spécifier un format de journal explicite ou la + journalisation conditionnelle des requêtes. En l'occurrence, le + format de journal est déterminé par la dernière définition d'une + directive LogFormat + qui ne définit pas d'alias. Si aucun format particulier n'a été + spécifié, c'est le Common Log Format qui sera utilisé.

+ + Exemple + +LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" +TransferLog "logs/access_log" + + +
+
+ + +GlobalLog +Définit le nom et le format du fichier journal +GlobalLog file|pipe|provider +format|nickname +[env=[!]environment-variable| +expr=expression] +server config + +Disponible à partir de la version 2.4.19 du serveur HTTP Apache + + + +

La directive GlobalLog permet de spécifier un + journal partagé entre le serveur principal et tous les serveurs virtuels + définis.

+ +

Elle est identique à la directive CustomLog à ces + différences près :

+
    +
  • Elle n'est pas valide dans un contexte de serveur virtuel.
  • +
  • A la différence d'une directive CustomLog + définie globalement, elle est prise en compte par les serveurs virtuels + qui définissent leur propre directive CustomLog.
  • +
+
+
+ +
diff --git a/docs/manual/mod/mod_log_config.xml.meta b/docs/manual/mod/mod_log_config.xml.meta index 7676287adf..d3f68096ba 100644 --- a/docs/manual/mod/mod_log_config.xml.meta +++ b/docs/manual/mod/mod_log_config.xml.meta @@ -8,6 +8,7 @@ en + fr ja ko tr diff --git a/docs/manual/mod/mod_log_debug.html b/docs/manual/mod/mod_log_debug.html index 7e3effaaf0..9acc6a02e2 100644 --- a/docs/manual/mod/mod_log_debug.html +++ b/docs/manual/mod/mod_log_debug.html @@ -3,3 +3,7 @@ URI: mod_log_debug.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_log_debug.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_log_debug.html.fr b/docs/manual/mod/mod_log_debug.html.fr new file mode 100644 index 0000000000..2b9788d2a5 --- /dev/null +++ b/docs/manual/mod/mod_log_debug.html.fr @@ -0,0 +1,183 @@ + + + + + +mod_log_debug - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_log_debug

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Possibilité de journalisation supplémentaire à des fins de +débogage
Statut:Expérimental
Identificateur de Module:log_debug_module
Fichier Source:mod_log_debug.c
Compatibilité:Disponible depuis la version 2.3.14 d'Apache
+
+

Sujets

+

Directives

+ +

Traitement des bugs

Voir aussi

+
+
top
+
+

Exemples

+ +
    +
  1. + Enregistre un message après le traitement d'une requête pour + /foo/* : + +
    <Location "/foo/">
    +  LogMessage "/foo/ has been requested"
    +</Location>
    + +
  2. + +
  3. + Enregistre un message si une requête pour /foo/* est traitée + dans une sous-requête : +
    <Location "/foo/">
    +  LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}"
    +</Location>
    + + + Le branchement (hook) par défaut log_transaction n'est pas + exécuté pour les sous-requêtes ; nous devons donc en utiliser un + autre. +
  4. + + +
  5. + Enregistre un message si un client IPv6 est à l'origine d'un + dépassement de délai pour une requête : +
    LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"
    + + Notez l'emplacement des guillemets pour l'argument + expr=. +
  6. + +
  7. + Enregistre la valeur de la variable d'environnement de requête + "X-Foo" à chaque étape du traitement : +
    <Location "/">
    +  LogMessage "%{reqenv:X-Foo}" hook=all
    +</Location>
    + + En association avec les repères de temps en microsecondes du journal des erreurs, + hook=all permet aussi de déterminer la durée d'exécution des + différentes phases du traitement de la requête. +
  8. + +
+
+
top
+

Directive LogMessage

+ + + + + + + +
Description:Enregistre des messages personnalisés dans le journal des +erreurs
Syntaxe:LogMessage message +[hook=hook] [expr=expression] +
Défaut:Non défini
Contexte:répertoire
Statut:Expérimental
Module:mod_log_debug
+

Cette directive permet d'enregistrer un message personnalisé dans + le journal des erreurs. Ce message peut utiliser des variables et + des fonctions dans la syntaxe ap_expr. + D'éventuelles références à des en-têtes HTTP dans l'expression + rationnelle n'entraîneront pas l'ajout des noms d'en-tête + correspondants à l'en-tête Vary. + Les messages sont enregistrés au loglevel info.

+ +

Le branchement (hook) précise la phase du traitement de la + requête avant laquelle le message sera enregistré. Les branchements + suivants sont supportés :

+ + + + + + + + + + + + + + +
Nom
translate_name
type_checker
quick_handler
map_to_storage
check_access
check_access_ex
insert_filter
check_authn
check_authz
fixups
handler
log_transaction
+ +

Le branchement par défaut est log_transaction. La + valeur spéciale all est aussi supportée ; dans ce cas, + le message sera enregistré à chaque phase. Tous les branchements ne + sont pas exécutés pour chaque requête.

+ +

L'expression optionnelle permet de restreindre l'enregistrement + du message en fonction d'une certaine condition. La syntaxe de + l'expression est décrite dans la documentation ap_expr. D'éventuelles + références à des en-têtes HTTP dans l'expression + rationnelle n'entraîneront pas l'ajout des noms d'en-tête + correspondants à l'en-tête Vary.

+ + +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_log_debug.xml.fr b/docs/manual/mod/mod_log_debug.xml.fr new file mode 100644 index 0000000000..953327c37c --- /dev/null +++ b/docs/manual/mod/mod_log_debug.xml.fr @@ -0,0 +1,148 @@ + + + + + + + + + + + +mod_log_debug +Possibilité de journalisation supplémentaire à des fins de +débogage +Experimental +mod_log_debug.c +log_debug_module +Disponible depuis la version 2.3.14 d'Apache + +
Exemples + +
    +
  1. + Enregistre un message après le traitement d'une requête pour + /foo/* : + + +<Location "/foo/"> +  LogMessage "/foo/ has been requested" +</Location> + +
  2. + +
  3. + Enregistre un message si une requête pour /foo/* est traitée + dans une sous-requête : + +<Location "/foo/"> +  LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}" +</Location> + + + Le branchement (hook) par défaut log_transaction n'est pas + exécuté pour les sous-requêtes ; nous devons donc en utiliser un + autre. +
  4. + + +
  5. + Enregistre un message si un client IPv6 est à l'origine d'un + dépassement de délai pour une requête : + + LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408" + + Notez l'emplacement des guillemets pour l'argument + expr=. +
  6. + +
  7. + Enregistre la valeur de la variable d'environnement de requête + "X-Foo" à chaque étape du traitement : + +<Location "/"> +  LogMessage "%{reqenv:X-Foo}" hook=all +</Location> + + En association avec les repères de temps en microsecondes du journal des erreurs, + hook=all permet aussi de déterminer la durée d'exécution des + différentes phases du traitement de la requête. +
  8. + +
+
+ + +LogMessage +Enregistre des messages personnalisés dans le journal des +erreurs +LogMessage message +[hook=hook] [expr=expression] + +Non défini +directory + + + +

Cette directive permet d'enregistrer un message personnalisé dans + le journal des erreurs. Ce message peut utiliser des variables et + des fonctions dans la syntaxe ap_expr. + D'éventuelles références à des en-têtes HTTP dans l'expression + rationnelle n'entraîneront pas l'ajout des noms d'en-tête + correspondants à l'en-tête Vary. + Les messages sont enregistrés au loglevel info.

+ +

Le branchement (hook) précise la phase du traitement de la + requête avant laquelle le message sera enregistré. Les branchements + suivants sont supportés :

+ + + + + + + + + + + + + + + + +
Nom
translate_name
type_checker
quick_handler
map_to_storage
check_access
check_access_ex
insert_filter
check_authn
check_authz
fixups
handler
log_transaction
+ +

Le branchement par défaut est log_transaction. La + valeur spéciale all est aussi supportée ; dans ce cas, + le message sera enregistré à chaque phase. Tous les branchements ne + sont pas exécutés pour chaque requête.

+ +

L'expression optionnelle permet de restreindre l'enregistrement + du message en fonction d'une certaine condition. La syntaxe de + l'expression est décrite dans la documentation ap_expr. D'éventuelles + références à des en-têtes HTTP dans l'expression + rationnelle n'entraîneront pas l'ajout des noms d'en-tête + correspondants à l'en-tête Vary.

+ +
+ +
+ +
diff --git a/docs/manual/mod/mod_log_debug.xml.meta b/docs/manual/mod/mod_log_debug.xml.meta index eace4d990d..d52c5b7c16 100644 --- a/docs/manual/mod/mod_log_debug.xml.meta +++ b/docs/manual/mod/mod_log_debug.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_logio.html b/docs/manual/mod/mod_logio.html index 0eb2b07092..370e8030bb 100644 --- a/docs/manual/mod/mod_logio.html +++ b/docs/manual/mod/mod_logio.html @@ -4,6 +4,10 @@ URI: mod_logio.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_logio.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_logio.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_logio.html.fr b/docs/manual/mod/mod_logio.html.fr new file mode 100644 index 0000000000..2ca81930dd --- /dev/null +++ b/docs/manual/mod/mod_logio.html.fr @@ -0,0 +1,164 @@ + + + + + +mod_logio - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_logio

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Journalisation des octets en entrée et en sortie pour +chaque requête
Statut:Extension
Identificateur de Module:logio_module
Fichier Source:mod_logio.c
+

Sommaire

+ + +

Ce module permet d'enregistrer le nombre d'octets reçus et + envoyés pour chaque requête. Ce nombre reflète le nombre réel + d'octets transmis sur le réseau, et prend en compte les en-têtes et + corps des requêtes et des réponses. Le décompte est effectué avant + SSL/TLS en entrée et après SSL/TLS en sortie, si bien que le + résultat reflètera toute modification introduite par le + chiffrement.

+ +

Pour fonctionner, ce module requiert le chargement du module + mod_log_config.

+ +
Lorsqu'on utilise les connexions persistantes avec SSL, le + supplément de trafic induit par la négociation SSL est enregistré + dans le décompte des octets transmis dans le cadre de la première + requête de la connexion. Lors d'une renégociation SSL au niveau d'un + répertoire, le décompte d'octets est associé à la + requête qui a déclenché la renégociation.
+ +
+ +
top
+
+

Formats de journaux personnalisés

+ + +

Ce module introduit trois nouvelles directives de journalisation. + Les caractéristiques de la requête en elle-même sont journalisées en + insérant des directives "%" dans la chaîne de format, + qui seront remplacées comme suit dans le fichier journal :

+ + + + + + + + + + + +
Chaîne de FormatDescription
%IOctets reçus, en-têtes et corps de requête inclus ; ne peut + pas être nul.
%OOctets envoyés, en-têtes inclus ; ne peut + pas être nul.
%SNombre d'octets transmis en émission et réception y compris + la requête et les en-têtes ; cette valeur ne peut pas être + nulle, il s'agit de la combinaison de %I et %O.
+ Disponible depuis la version 2.4.7 du serveur HTTP Apache.
%^FBDélai en microsecondes entre l'arrivée de la requête et + l'écriture du premier octet des en-têtes de la réponse. + Disponible uniquement si la directive + LogIOTrackTTFB a été définie à ON.
+ Disponible à partir de la version 2.4.13 du serveur HTTP Apache +
+ +

En général, cette fonctionnalité s'utilise comme suit :

+ +
+
Format de journal d'entrées/sorties combiné :
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"
+
+
+
top
+

Directive LogIOTrackTTFB

+ + + + + + + + +
Description:Permet d'enregistrer le délai avant le premier octet (time +to first byte - TTFB)
Syntaxe:LogIOTrackTTFB ON|OFF
Défaut:LogIOTrackTTFB OFF
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:none
Statut:Extension
Module:mod_logio
+

Cette directive permet de définir si ce module mesure le délai + entre la lecture de la requête et l'écriture du premier octet des + en-têtes de la réponse. La valeur obtenue peut être enregistrée dans + le journal via le format %^FB.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_logio.xml.fr b/docs/manual/mod/mod_logio.xml.fr new file mode 100644 index 0000000000..bf93c675bb --- /dev/null +++ b/docs/manual/mod/mod_logio.xml.fr @@ -0,0 +1,122 @@ + + + + + + + + + + + +mod_logio +Journalisation des octets en entrée et en sortie pour +chaque requête +Extension +mod_logio.c +logio_module + + + +

Ce module permet d'enregistrer le nombre d'octets reçus et + envoyés pour chaque requête. Ce nombre reflète le nombre réel + d'octets transmis sur le réseau, et prend en compte les en-têtes et + corps des requêtes et des réponses. Le décompte est effectué avant + SSL/TLS en entrée et après SSL/TLS en sortie, si bien que le + résultat reflètera toute modification introduite par le + chiffrement.

+ +

Pour fonctionner, ce module requiert le chargement du module + mod_log_config.

+ + Lorsqu'on utilise les connexions persistantes avec SSL, le + supplément de trafic induit par la négociation SSL est enregistré + dans le décompte des octets transmis dans le cadre de la première + requête de la connexion. Lors d'une renégociation SSL au niveau d'un + répertoire, le décompte d'octets est associé à la + requête qui a déclenché la renégociation. + +
+ +mod_log_config +Les fichiers journaux +d'Apache + +
+Formats de journaux personnalisés + +

Ce module introduit trois nouvelles directives de journalisation. + Les caractéristiques de la requête en elle-même sont journalisées en + insérant des directives "%" dans la chaîne de format, + qui seront remplacées comme suit dans le fichier journal :

+ + + + + + + + + + + + + + + + +
Chaîne de FormatDescription
%IOctets reçus, en-têtes et corps de requête inclus ; ne peut + pas être nul.
%OOctets envoyés, en-têtes inclus ; ne peut + pas être nul.
%SNombre d'octets transmis en émission et réception y compris + la requête et les en-têtes ; cette valeur ne peut pas être + nulle, il s'agit de la combinaison de %I et %O.
+ Disponible depuis la version 2.4.7 du serveur HTTP Apache.
%^FBDélai en microsecondes entre l'arrivée de la requête et + l'écriture du premier octet des en-têtes de la réponse. + Disponible uniquement si la directive + LogIOTrackTTFB a été définie à ON.
+ Disponible à partir de la version 2.4.13 du serveur HTTP Apache +
+ +

En général, cette fonctionnalité s'utilise comme suit :

+ +
+
Format de journal d'entrées/sorties combiné :
+
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\" %I %O"
+
+
+ + +LogIOTrackTTFB +Permet d'enregistrer le délai avant le premier octet (time +to first byte - TTFB) +LogIOTrackTTFB ON|OFF +LogIOTrackTTFB OFF +server configvirtual host +directory.htaccess +none + + +

Cette directive permet de définir si ce module mesure le délai + entre la lecture de la requête et l'écriture du premier octet des + en-têtes de la réponse. La valeur obtenue peut être enregistrée dans + le journal via le format %^FB.

+
+
+ +
diff --git a/docs/manual/mod/mod_logio.xml.meta b/docs/manual/mod/mod_logio.xml.meta index ce3f93ab8c..a9e351e684 100644 --- a/docs/manual/mod/mod_logio.xml.meta +++ b/docs/manual/mod/mod_logio.xml.meta @@ -8,6 +8,7 @@ en + fr ja ko tr diff --git a/docs/manual/mod/mod_lua.html.fr b/docs/manual/mod/mod_lua.html.fr index 5669059826..71df392e03 100644 --- a/docs/manual/mod/mod_lua.html.fr +++ b/docs/manual/mod/mod_lua.html.fr @@ -29,6 +29,8 @@

Langues Disponibles:  en  |  fr 

+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
diff --git a/docs/manual/mod/mod_mime.html b/docs/manual/mod/mod_mime.html index 942dc58a0e..db18e2febb 100644 --- a/docs/manual/mod/mod_mime.html +++ b/docs/manual/mod/mod_mime.html @@ -4,6 +4,10 @@ URI: mod_mime.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_mime.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_mime.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_mime.html.fr b/docs/manual/mod/mod_mime.html.fr new file mode 100644 index 0000000000..84b5fda7f9 --- /dev/null +++ b/docs/manual/mod/mod_mime.html.fr @@ -0,0 +1,1131 @@ + + + + + +mod_mime - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_mime

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+
Description:Fournit des points d'entrée Lua dans différentes parties du traitement des requêtes httpd
Statut:Expérimental
+ + +
Description:Associe les extensions des fichiers demandés avec l'action +déclenchée par ces fichiers et avec leur contenu (type MIME, langage, +jeu de caractère et codage)
Statut:Base
Identificateur de Module:mime_module
Fichier Source:mod_mime.c
+

Sommaire

+ +

Ce module permet d'assigner des métadonnées aux contenus + sélectionnés pour une réponse HTTP, en associant des modèles d'URI + ou de noms de fichiers aux valeurs des métadonnées. Par exemple, les + extensions de noms de fichiers définissent souvent le type de médium + Internet, le langage, le jeu de caractères et le codage du contenu. + Ces informations sont relayées par les messages HTTP véhiculant ces + contenus, et utilisées au cours de la négociation de contenu lors de + la sélection des différentes possibilités, de manière à ce que les + préférences des utilisateurs soient respectées lors du choix d'un + contenu à servir parmi plusieurs autres contenus. Voir + mod_negotiation pour plus d'informations à propos + de la négociation de + contenu.

+ +

Les directives AddCharset, AddEncoding, AddLanguage et AddType permettent d'associer des + extensions de fichiers aux métadonnées de ces fichiers. Elles + définissent respectivement le jeu de caractères, le codage du + contenu, le langage du contenu et le type de + médium (content-type) des documents. La directive + TypesConfig permet de + spécifier un fichier qui contient lui-même des associations entre + extensions et types de media.

+ +

De plus, mod_mime peut définir le gestionnaire et les filtres qui sont à l'origine du contenu et + le traitent. Les directives AddHandler, AddOutputFilter, et AddInputFilter permettent de contrôler + les modules ou les scripts qui vont servir le document. La directive + MultiviewsMatch permet à + mod_negotiation de déterminer les extensions de + fichiers à inclure lors des tests de correspondances multivues.

+ +

Alors que mod_mime associe des métadonnées avec + des extensions de fichiers, le serveur de base core + fournit des directives permettant d'associer tous les fichiers d'un + conteneur donné (par exemple <Location>, <Directory>, ou <Files>) avec des métadonnées particulières. + Parmi ces directives, on trouve ForceType, SetHandler, SetInputFilter, et SetOutputFilter. Les directives du serveur + de base l'emportent sur toute directive d'association d'extensions + de noms de fichiers définie par mod_mime.

+ +

Notez que la modification des métadonnées d'un fichier ne modifie + pas la valeur de l'en-tête Last-Modified. Ainsi, + certaines copies de documents préalablement mises en cache peuvent + encore être utilisées par un client ou un mandataire avec les + anciens en-têtes. Si vous modifiez les métadonnées (langage, type de + contenu, jeu de caractère ou codage), vous devez donc enregistrer + une modification du fichier concerné (afin de mettre à jour sa date + de dernière modification), pour être sûr que tous les visiteurs + recevront le documents avec les en-têtes corrects.

+ + +
top
+
+

Fichiers avec extensions +multiples

+

Les fichiers peuvent posséder plusieurs extensions dont l'ordre + est normalement sans importance. Par exemple, si + le fichier welcome.html.fr est associé au type de + contenu text/html et au langage Français, le fichier + welcome.fr.html possèdera exactement les même + métadonnées. Si le fichier possède plusieurs extensions associées + au même type de métadonnée, c'est celle de ces extensions la plus à + droite qui sera utilisée, excepté pour ce qui concerne les langages + et les codages de contenu. Par exemple, si .gif est + associé au type de médium + image/gif, et .html au type de médium + text/html, le fichier welcome.gif.html + sera associé au type de médium text/html.

+ +

Les Languages et les codages de contenu sont traités de + manière cumulative, car il est possible d'assigner plusieurs + langages ou codages à une ressource particulière. Par exemple, le + fichier welcome.html.en.de sera servi avec les en-têtes + Content-Language: en, de et Content-Type: + text/html.

+ +

Des précautions doivent être prises lorsqu'un fichier avec + extensions multiples est associé à la fois à un type de + médium et à un gestionnaire. En général, cela impliquera + la gestion de la requête par le module associé au gestionnaire. Par + exemple, si l'extension .imap est associée au + gestionnaire imap-file (du module + mod_imagemap), et si l'extension .html + est associée au type de médium text/html, le fichier + world.imap.html sera à la fois associé au gestionnaire + imap-file et au type de médium text/html. + Pour son traitement, c'est le gestionnaire imap-file + qui sera utilisé, et il sera donc traité en tant que fichier + imagemap.

+ +

Si vous préférez que seule la dernière partie d'un nom de fichier + séparée du reste du nom par un point soit associée à une métadonnée + particulière, n'utilisez pas les directives Add*. Par + exemple, si vous souhaitez que le fichier foo.html.cgi + soit traité en tant que script CGI, mais pas le fichier + bar.cgi.html, alors, au lieu d'utiliser + AddHandler cgi-script .cgi, utilisez plutôt :

+ +

Configuration du gestionnaire en se basant seulement + sur la dernière extension

<FilesMatch "[^.]+\.cgi$">
+  SetHandler cgi-script
+</FilesMatch>
+
+ +
top
+
+

Codage du contenu

+

Un fichier d'un type de médium particulier + peut être aussi codé d'une certaine manière pour simplifier sa + transmission sur Internet. Alors que cela concerne en général la + compression, comme gzip, il peut aussi s'agir de + chiffrement, comme pgp ou d'un codage comme UUencoding, + qui est conçu pour transmettre un fichier binaire sous un format + ASCII (texte).

+ +

La RFC + HTTP/1.1, section 14.11 stipule à ce titre :

+ +
+

Le champ d'en-tête Content-Encoding de l'entité est utilisé en + tant que modificateur du type de médium. Lorsqu'il est présent, sa + valeur indique quels codages de contenu additionnels ont été + appliqués au corps de l'entité, et ainsi quels mécanismes de + décodage doivent être appliqués afin de retrouver le type de + médium référencé par le champ d'en-tête Content-Type. Le codage de + contenu est principalement utilisé pour permettre la compression + d'un document sans perdre l'information concernant le type de + médium sous-jacent.

+
+ +

En utilisant plusieurs extensions (voir la section ci-dessus à propos des extensions de + fichiers multiples), vous pouvez indiquer qu'un fichier est d'un + type, particulier, et possède aussi un codage + particulier.

+ +

Considérons par exemple un fichier contenant un document + Microsoft Word et compressé par pkzip pour réduire sa taille. Si + l'extension .doc est associée au type de fichier + Microsoft Word, et si l'extension .zip est associée au + codage de fichier pkzip, alors le fichier + Resume.doc.zip sera identifié comme document Word + compressé par pkzip.

+ +

Apache joint un en-tête Content-encoding à la + ressource afin d'informer le navigateur client à propos de la + méthode de codage.

+ +
Content-encoding: pkzip
+ +
top
+
+

Jeux de caractères et langages

+

En plus du type de fichier et du codage, un autre élément + important d'information est le langage dans lequel le document est + écrit, et avec quel jeu de caractères le contenu du fichier doit + être affiché. Par exemple, un document peut être écrit en alphabet + vietnamien ou cyrillique, et doit être affiché en conséquence. Cette + information est aussi transmise via des en-têtes HTTP.

+ +

Les jeu de caractères, langage, codage et type MIME sont tous + utilisés au cours du processus de négociation de contenu (voir + mod_negotiation) afin de déterminer quel document + servir au client, lorsque plusieurs choix sont possibles en fonction + du jeu de caractères, du langage, du codage ou du type MIME. Toutes + les associations d'extensions de noms de fichiers créées via les + directives AddCharset, + AddEncoding, AddLanguage et AddType (ainsi que les associations + d'extensions listées dans le fichier défini par la directive + MimeMagicFile), + participent à ce processus de sélection. Les extensions de noms de + fichiers qui n'ont été associés que par des directives AddHandler, AddInputFilter ou AddOutputFilter, peuvent être incluses + ou exclues du processus de sélection en utilisant la directive + MultiviewsMatch.

+ +

Jeu de caractères

+

Pour transmettre cette information supplémentaire, Apache peut + ajouter un en-tête Content-Language, afin de + spécifier le langage dans lequel le document est écrit, et peut + ajouter des informations additionnelles à l'en-tête + Content-Type pour indiquer le jeu de caractères + particulier qui doit être utilisé pour restituer correctement le + document.

+ +

+ Content-Language: en, fr +Content-Type: text/plain; charset=ISO-8859-1 +

+ +

Le langage est spécifié via son abréviation en deux lettres. Le + jeu de caractères est le nom du jeu de caractères + particulier qui doit être utilisé.

+ +
+
top
+

Directive AddCharset

+ + + + + + + +
Description:Associe les extensions de noms de fichiers spécifiées au +jeu de caractères spécifié
Syntaxe:AddCharset jeu-car extension +[extension] ...
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddCharset permet d'associer + les extensions de noms de fichiers spécifiées au jeu de caractères + spécifié (le nom enregistré sur l'Internet d'un codage de caractères + donné). jeu-car est le paramètre jeu + de caractères du type de médium pour les ressources dont le nom + de fichier contient extension. Cette association est + ajoutée à toutes les autres déjà en vigueur, et écrase toute + association préexistante pour la même extension.

+ +

Exemple

AddLanguage ja .ja
+AddCharset EUC-JP .euc
+AddCharset ISO-2022-JP .jis
+AddCharset SHIFT_JIS .sjis
+
+ +

Avec cet exemple, le document xxxx.ja.jis sera + traité en tant que document japonais dont le jeu de caractère est + ISO-2022-JP (idem pour le document + xxxx.jis.ja). La directive + AddCharset sert à la fois à informer le + client sur le codage des caractères du document afin que ce dernier + puisse être interprété et affiché correctement, et à la négociation de contenu, au + cours de laquelle le serveur décide lequels parmi plusieurs + documents possibles il renvoie au client en fonction des préférences + de ce dernier en matière de jeu de caractères.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ + +

Voir aussi

+ +
+
top
+

Directive AddEncoding

+ + + + + + + +
Description:Associe les extensions de noms de fichiers données au type +de codage spécifié
Syntaxe:AddEncoding codage extension +[extension] ...
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddEncoding permet d'associer + les extensions de noms de fichiers données au codage de contenu HTTP + spécifié. codage est le codage de contenu HTTP à ajouter + à la valeur du champ d'en-tête Content-Encoding pour les documents + possédant l'extension spécifiée. Cette association est + ajoutée à toutes les autres déjà en vigueur, et écrase toute + association préexistante pour la même extension.

+ +

Exemple

AddEncoding x-gzip .gz
+AddEncoding x-compress .Z
+
+ +

Avec cet exemple, les noms de fichiers possédant l'extension + .gz seront marqués comme codés à l'aide du codage + x-gzip, et les noms de fichiers possédant l'extension + .Z comme codés avec x-compress.

+ +

Les clients anciens n'acceptent que x-gzip et + x-compress, bien que les standards stipulent qu'ils + sont respectivement équivalents à gzip et + compress. Apache effectue ses comparaisons de codages + de contenu en ignorant tout préfixe x-. Lorsqu'il + répond avec un codage, Apache utilise l'une ou l'autre forme (c'est + à dire x-foo ou foo) selon les besoins du + client. Si le client n'a pas besoin d'une forme particulière, Apache + utilisera la forme employée par la directive + AddEncoding. Pour résumer, vous devez toujours utiliser + x-gzip et x-compress pour ces deux + codages spécifiques. Certains codages plus récents, comme + deflate, doivent être spécifiés sans le préfixe + x-.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +
+
top
+

Directive AddHandler

+ + + + + + + +
Description:Associe les extensions de noms de fichiers données au +gestionnaire spécifié
Syntaxe:AddHandler nom-gestionnaire extension +[extension] ...
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

Les fichiers dont le nom a pour extension extension + seront servis par le nom-gestionnaire spécifié. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + extension. Par exemple, pour associer les scripts CGI + avec l'extension de fichier .cgi, vous pouvez utiliser + :

+ +
AddHandler cgi-script .cgi
+ + +

Une fois cette ligne insérée dans votre fichier httpd.conf, tout + fichier possédant l'extension .cgi sera traité en tant + que programme CGI.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +

Voir aussi

+ +
+
top
+

Directive AddInputFilter

+ + + + + + + +
Description:Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les requêtes clients
Syntaxe:AddInputFilter filtre[;filtre...] +extension [extension] ...
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddInputFilter permet + d'associer l'extension de nom de fichier extension aux filtres spécifiésqui traiteront les + requêtes clients et les entrées POST à leur réception par le + serveur. Ceci s'ajoute à toute définition de filtre préexistante, y + compris la directive SetInputFilter. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + extension.

+ +

Si plusieurs filtres sont spécifiés, ils doivent être + séparés par des points-virgules et inscrits dans l'ordre selon + lequel ils devront traiter le contenu. L'argument filtre + est insensible à la casse.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ + +

Voir aussi

+ +
+
top
+

Directive AddLanguage

+ + + + + + + +
Description:Associe l'extension de nom de fichier donnée au langage +spécifié
Syntaxe:AddLanguage symbole-langage extension +[extension] ...
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddLanguage permet d'associer + l'extension de nom de fichier donnée au langage spécifié. Les + fichiers dont l'extension correspond à la valeur + de l'argument extension se voient attribuer la valeur de + l'argument symbole-langage comme en-tête HTTP + Content-Language en accord avec les identifiants de langages définis + par la RFC 3066. Cette directive l'emporte sur toute association + préexistante pour la même extension.

+ +

Exemple

AddEncoding x-compress .Z
+AddLanguage en .en
+AddLanguage fr .fr
+
+ +

Avec cet exemple, le document xxxx.en.Z sera traité + en tant que document compressé de langue anglaise (idem pour le + document xxxx.Z.en). Bien que le langage soit fourni au + client, le navigateur n'utilise habituellement pas cette + information. La directive AddLanguage est + principalement utilisée au cours de la négociation de contenu, où le + serveur choisit d'envoyer un document parmi plusieurs documents + possibles en fonction de la préférence du client en matière de + langage.

+ +

Si une extension fait l'objet de plusieurs associations de + langages, c'est la dernière qui sera utilisée. Ainsi, dans le cas + suivant,

+ +
AddLanguage en .en
+AddLanguage en-gb .en
+AddLanguage en-us .en
+ + +

les documents possédant l'extension .en seront + traités en tant que documents de langage en-us.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +

Voir aussi

+ +
+
top
+

Directive AddOutputFilter

+ + + + + + + +
Description:Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les réponses en provenance du +serveur
Syntaxe:AddOutputFilter filtre[;filtre...] +extension [extension] ...
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddOutputFilter permet + d'associer l'extension de nom de fichier définie par l'argument + extension aux filtres qui traiteront les réponses en + provenance du serveur avant de les envoyer au client. Ces filtres + s'ajoutent à tout filtre défini par d'autres directives comme + SetOutputFilter et AddOutputFilterByType. Cette association + est fusionnée avec toute autre association en vigueur, et l'emporte + sur toute association préexistante pour la même + extension.

+ +

Avec l'exemple suivant, tous les fichiers .shtml + seront traités en tant qu'inclusions côté serveur (SSI), et la + sortie sera compressée à l'aide du module + mod_deflate.

+ +
AddOutputFilter INCLUDES;DEFLATE shtml
+ + +

Si plusieurs filtres sont spécifiés, ils doivent être + séparés par des points-virgules et inscrits dans l'ordre selon + lequel il devront traiter le contenu. L'argument filtre + est insensible à la casse.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +

Notez que toute définition de filtres via la directive AddOutputFilter remplace toutes les + définitions précédentes effectuées via cette même directive.

+ +
# Filtre spécifié "DEFLATE"
+AddOutputFilter DEFLATE shtml
+<Location "/foo">
+  # Filtre spécifié "INCLUDES", remplace "DEFLATE"
+  AddOutputFilter INCLUDES shtml
+</Location>
+<Location "/bar">
+  # Filtre spécifié "INCLUDES;DEFLATE", remplace "DEFLATE"
+  AddOutputFilter INCLUDES;DEFLATE shtml
+</Location>
+<Location "/bar/baz">
+  # Filtre spécifié "BUFFER", remplace "INCLUDES;DEFLATE"
+  AddOutputFilter BUFFER shtml
+</Location>
+<Location "/bar/baz/buz">
+  # Pas de filtre spécifié, suppression de "BUFFER"
+  RemoveOutputFilter shtml
+</Location>
+ + +

Voir aussi

+ +
+
top
+

Directive AddType

+ + + + + + + +
Description:Associe les extensions de noms de fichiers au type de +contenu spécifié
Syntaxe:AddType type-médium extension +[extension] ...
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive AddType permet d'associer les + extensions de noms fichiers données au type de contenu spécifié. + type-médium est le Type + MIME à utiliser pour les fichiers dont le nom possède + l'extension extension. Cette association s'ajoute à toute + autre association en vigueur, et l'emporte sur toute association + préexistante pour la même extension.

+ +
+ Plutôt que d'éditer directement le fichier TypesConfig, il est recommandé + d'utiliser la directive AddType pour + ajouter de nouveaux types de médias. +
+ +

Exemple

AddType image/gif .gif
+
+ +

Ou, pour spécifier plusieurs extensions dans une seule directive + :

+ +

Exemple

AddType image/jpeg jpeg jpg jpe
+
+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +

Il est possible d'obtenir un effet similaire à celui de la + directive LanguagePriority du module + mod_negotiation en qualifiant un type de + média avec qs :

+ +

Exemple

AddType application/rss+xml;qs=0.8 .xml
+
+ +

Ceci peut s'avérer utile dans certaines situations, par exemple + lorsqu'un client qui a ajouté un en-tête Accept: */* à + sa requête n'est pas en mesure de traiter le contenu renvoyé par le + serveur.

+ +

A la base, cette directive configure le type de contenu généré + pour les fichiers statiques servis à partir du système de fichiers. + Dans le cas des ressources autres que les fichiers statiques pour + lesquelles le générateur de la réponse spécifie en général un + Content-Type, cette directive n'a aucun effet.

+ +

Note

+

Si aucun gestionnaire n'a été explicitement défini pour une + requête, c'est le type de contenu spécifié qui sera utilisé comme + nom de gestionnaire.

+ +

Lorsqu'aucune directive comme SetHandler ou + module="mod_mime">AddHandler ne s'applique à + une requête, le nom de gestionnaire interne qui aurait du être + défini par une de ces directives correspond alors au type de contenu + spécifié par la directive AddType. +

+

+ Pour des raisons historiques, certains modules tiers comme mod_php + peuvent adopter ce comportement pour forcer la prise en compte de la + requête concernée. +

+ +

Il est conseillé d'éviter les configurations qui reposent sur de + tels types "synthétiques". En outre, les configurations qui + limitent l'accès aux directives SetHandler ou AddHandler doivent aussi limiter + l'accès à la directive AddType.

+
+ + +

Voir aussi

+ +
+
top
+

Directive DefaultLanguage

+ + + + + + + +
Description:Défini un symbole de langage par défaut à affecter au champ +d'en-tête Content-Language pour toutes les ressources dans le contexte +courant auxquelles aucun symbole de langage n'a été +associé.
Syntaxe:DefaultLanguage symbole-langage
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive DefaultLanguage permet + d'indiquer à Apache que toutes les ressources du contexte courant + (par exemple, toutes les ressources concernées par le conteneur + <Directory> + courant) qui ne possèdent pas d'extension de langage explicite + (comme .fr ou .de tel que défini par la + directive AddLanguage), + verront leur en-tête HTTP Content-Language affecté du langage + symbole-langage. Ceci permet de marquer des arborescences + de répertoires entières comme contenant des documents en français, + par exemple, sans avoir à renommer chaque fichier. Notez qu'à la + différence de l'utilisation des extensions pour spécifier des + langages, DefaultLanguage ne permet de + spécifier qu'un seul langage.

+ +

Si aucune directive DefaultLanguage n'est + en vigueur, et si un fichier ne possède pas d'extension configurée + par la directive AddLanguage, aucun champ d'en-tête + Content-Language ne sera généré.

+ +

Exemple

DefaultLanguage en
+
+ +

Voir aussi

+ +
+
top
+

Directive ModMimeUsePathInfo

+ + + + + + + +
Description:Indique à mod_mime de traiter les éléments +de path_info en tant que parties du nom de +fichier
Syntaxe:ModMimeUsePathInfo On|Off
Défaut:ModMimeUsePathInfo Off
Contexte:répertoire
Statut:Base
Module:mod_mime
+

La directive ModMimeUsePathInfo permet de + combiner le nom de fichier avec la partie path_info de + l'URL pour appliquer les directives mod_mime à la + requête. La valeur par défaut est Off - situation dans + laquelle l'élément path_info est ignoré.

+ +

L'utilisation de cette directive est conseillée si vous utilisez + un système de fichiers virtuel.

+ +

Exemple

ModMimeUsePathInfo On
+
+ +

Considérons une requête pour /index.php/foo.shtml, + mod_mime ne traitera pas la requête entrante comme + /index.php/foo.shtml et les directives comme + AddOutputFilter INCLUDES .shtml ajouteront le filtre + INCLUDES à la requête. Si la directive + ModMimeUsePathInfo n'est pas définie, le + filtre INCLUDES ne sera pas ajouté. Le fonctionnement + sera identique dans le cas des chemins virtuels, tels que ceux + définis par la directive <Location>

+ +

Voir aussi

+ +
+
top
+

Directive MultiviewsMatch

+ + + + + + + + +
Description:Les types de fichiers qui seront inclus lors d'une +recherche de correspondance de fichier avec les vues multiples +(MultiViews)
Syntaxe:MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters]
Défaut:MultiviewsMatch NegotiatedOnly
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive MultiviewsMatch permet trois + comportements différents pour la fonctionnalité Multiviews du module + mod_negotiation. Les vues + multiples permettent d'associer une requête pour un fichier, par + exemple index.html, à toute extension négotiée + s'ajoutant à la requête de base, par exemple + index.html.en, index.html.fr, ou + index.html.gz.

+ +

L'option NegotiatedOnly implique que toute extension + s'ajoutant au nom de base doit correspondre à une extension de + mod_mime reconnue pour la négociation de contenu, + par exemple Charset, Content-Type, Language, ou Encoding. C'est la + valeur d'option par défaut, et la contrainte la plus stricte + dont les effets de bord inattendus sont les moins nombreux.

+ +

Pour inclure des extensions associées avec des gestionnaires + et/ou des filtres, définissez la directive + MultiviewsMatch avec les mots-clés + Handlers, Filters, ou les deux. Si tous + les autres facteurs sont égaux, c'est le fichier de plus petite + taille qui sera servi ; par exemple, si le choix doit s'opérer entre + index.html.cgi de 500 octets et + index.html.pl de 1000 octets, c'est le fichier + .cgi qui l'emportera dans cet exemple. Les utilisateurs + de fichiers .asis auront avantage à utiliser l'option + Handler, si les fichiers .asis sont associés au + gestionnaire asis-handler.

+ +

Vous pouvez enfin autoriser l'association de toute extension avec + l'option Any, même si mod_mime ne + reconnaît pas l'extension. Ceci + peut conduire à des résultats imprévisibles, comme l'envoi de + fichiers .old ou .bak contrairement aux souhaits du webmaster.

+ +

Par exemple, la configuration suivante va permettre l'inclusion + des extensions associées aux gestionnaires et aux filtres dans les + vues multiples, tout en excluant les fichiers de type inconnu :

+ +
MultiviewsMatch Handlers Filters
+ + +

L'utilisation de la directive + MultiviewsMatch dans une section <Location> ou <LocationMatch> n'est pas + permise.

+ + +

Voir aussi

+ +
+
top
+

Directive RemoveCharset

+ + + + + + + +
Description:Supprime toute association de jeu de caractères pour un +ensemble d'extensions de noms de fichiers
Syntaxe:RemoveCharset extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveCharset permet de + supprimer toute association de jeu de caractères pour les fichiers + dont les noms possèdent les extensions spécifiées. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +

Exemple

RemoveCharset .html .shtml
+
+ +
+
top
+

Directive RemoveEncoding

+ + + + + + + +
Description:Supprime toute association de codage de contenu pour un +ensemble d'extensions de noms de fichiers
Syntaxe:RemoveEncoding extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveEncoding permet de + supprimer toute association de codage pour les fichiers dont les + noms possèdent les extensions spécifiées. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :

+ +

/foo/.htaccess:

AddEncoding x-gzip .gz
+AddType text/plain .asc
+<Files "*.gz.asc">
+    RemoveEncoding .gz
+</Files>
+
+ +

Avec cette configuration, le fichier foo.gz sera + marqué comme codé avec gzip, mais foo.gz.asc sera + marqué comme fichier texte non codé.

+ +

Note

+

Les directives RemoveEncoding étant + traitées après toute directive AddEncoding, il est possible + qu'elles annulent les effets de ces dernières si les deux + apparaissent dans la configuration du même répertoire.

+
+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +
+
top
+

Directive RemoveHandler

+ + + + + + + +
Description:Supprime toute association de gestionnaire à un ensemble +d'extensions de noms de fichiers
Syntaxe:RemoveHandler extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveHandler permet de + supprimer toute association de gestionnaire à des fichiers dont le + nom possède l'extension donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :

+ +

/foo/.htaccess:

AddHandler server-parsed .html
+
+ +

/foo/bar/.htaccess:

RemoveHandler .html
+
+ +

Avec cette dernière ligne, les fichiers .html du + répertoire /foo/bar seront traités en tant que fichiers + normaux, au lieu d'être traités en tant que candidats à + l'interprétation (voir le module mod_include + module).

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +
+
top
+

Directive RemoveInputFilter

+ + + + + + + +
Description:Supprime toute association de filtre en entrée à un +ensemble d'extensions de noms de fichiers
Syntaxe:RemoveInputFilter extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveInputFilter permet de + supprimer toute association de filtre + en entrée à des fichiers dont le nom possède l'extension donnée. + Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +

Voir aussi

+ +
+
top
+

Directive RemoveLanguage

+ + + + + + + +
Description:Supprime toute association de langage à un ensemble +d'extensions de noms de fichiers
Syntaxe:RemoveLanguage extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveLanguage permet de + supprimer toute association de langage à des fichiers dont le nom + possède l'extension donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +
+
top
+

Directive RemoveOutputFilter

+ + + + + + + +
Description:Supprime toute association de filtre en sortie à un +ensemble d'extensions de noms de fichiers
Syntaxe:RemoveOutputFilter extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveOutputFilter permet de + supprimer toute association de filtre + en sortie à des fichiers dont le nom possède l'extension donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +

Exemple

RemoveOutputFilter shtml
+
+ +

Voir aussi

+ +
+
top
+

Directive RemoveType

+ + + + + + + +
Description:Supprime toute association de type de contenu à un ensemble +d'extensions de noms de fichiers
Syntaxe:RemoveType extension [extension] +...
Contexte:serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Base
Module:mod_mime
+

La directive RemoveType permet de + supprimer toute association de type de + médium à des fichiers dont le nom possède l'extension + donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :

+ +

/foo/.htaccess:

RemoveType .cgi
+
+ +

Cette ligne aura pour effet de supprimer tout traitement + spécifique des fichiers .cgi dans le répertoire + /foo/ et ses sous-répertoires, et les réponses + contenant ce type de fichier ne possèderont pas de champ d'en-tête + HTTP Content-Type.

+ +

Note

+

Les directives RemoveType sont traitées + après toutes les directives AddType, et il est possible que les + effets de ces dernières soient annulés si les deux types de + directives sont présents au sein de la configuration du même + répertoire.

+
+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ +
+
top
+

Directive TypesConfig

+ + + + + + + +
Description:Le chemin du fichier mime.types
Syntaxe:TypesConfig chemin-fichier
Défaut:TypesConfig conf/mime.types
Contexte:configuration du serveur
Statut:Base
Module:mod_mime
+

La directive TypesConfig permet de définir + le chemin du fichier de configuration des types de média. L'argument + chemin-fichier est un chemin relatif au répertoire défini + par la directive ServerRoot. Ce + fichier contient la liste des associations par défaut des extensions + de noms de fichiers aux types de contenus. La plupart des + administrateurs utilisent le fichier mime.types fourni + par leur OS, + qui associe les extensions de noms de fichiers courantes à la liste + officielle des types de média enregistrés par l'IANA et maintenue à + http://www.iana.org/assignments/media-types/index.html, ainsi + qu'un grand nombre de types non officiels. Ce fichier permet de + simplifier le fichier httpd.conf en fournissant la + majorité des définitions de types de média, et ses définitions + peuvent être écrasées par des directives AddType, selon les besoins. Il est + déconseillé de modifier le contenu du fichier + mime.types car il peut être remplacé lors d'une mise à + jour du serveur.

+ +

Le fichier contient des lignes dont le format est identique à + celui des arguments d'une directive AddType :

+ +

+ type-médium [extension] ... +

+ +

Les extensions sont insensibles à la casse. Les lignes vides et + les lignes commençant par un dièse (#) sont + ignorées. Les lignes vides servent à compléter le fichier + mime.types. Apache httpd peut encore déterminer ces types via le + module mod_mime_magic.

+ +
+ Merci de ne pas soumettre de requêtes au Projet + de Serveur HTTP Apache pour ajouter une entrée dans le fichier + mime.types fourni, sauf si : + 1) le type de médium est déjà enregistré à l'IANA + 2) et si l'extension est largement acceptée et ne provoque pas de + conflits d'extensions entre les différentes plate-formes. Les + requêtes du type catégorie/x-sous-type seront + systématiquement rejetées, ainsi que toute nouvelle extension de + deux lettres, car elle ont de fortes chances d'entrer en conflit + par la suite avec les innombrables langages préexistants et les + espaces de nommage des jeux de caractères. +
+ +

Voir aussi

+ +
+ +
+

Langues Disponibles:  en  | + fr  | + ja 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_mime.xml.fr b/docs/manual/mod/mod_mime.xml.fr new file mode 100644 index 0000000000..7e21f00dfc --- /dev/null +++ b/docs/manual/mod/mod_mime.xml.fr @@ -0,0 +1,1126 @@ + + + + + + + + + + + +mod_mime +Associe les extensions des fichiers demandés avec l'action +déclenchée par ces fichiers et avec leur contenu (type MIME, langage, +jeu de caractère et codage) +Base +mod_mime.c +mime_module + + +

Ce module permet d'assigner des métadonnées aux contenus + sélectionnés pour une réponse HTTP, en associant des modèles d'URI + ou de noms de fichiers aux valeurs des métadonnées. Par exemple, les + extensions de noms de fichiers définissent souvent le type de médium + Internet, le langage, le jeu de caractères et le codage du contenu. + Ces informations sont relayées par les messages HTTP véhiculant ces + contenus, et utilisées au cours de la négociation de contenu lors de + la sélection des différentes possibilités, de manière à ce que les + préférences des utilisateurs soient respectées lors du choix d'un + contenu à servir parmi plusieurs autres contenus. Voir + mod_negotiation pour plus d'informations à propos + de la négociation de + contenu.

+ +

Les directives AddCharset, AddEncoding, AddLanguage et AddType permettent d'associer des + extensions de fichiers aux métadonnées de ces fichiers. Elles + définissent respectivement le jeu de caractères, le codage du + contenu, le langage du contenu et le type de + médium (content-type) des documents. La directive + TypesConfig permet de + spécifier un fichier qui contient lui-même des associations entre + extensions et types de media.

+ +

De plus, mod_mime peut définir le gestionnaire et les filtres qui sont à l'origine du contenu et + le traitent. Les directives AddHandler, AddOutputFilter, et AddInputFilter permettent de contrôler + les modules ou les scripts qui vont servir le document. La directive + MultiviewsMatch permet à + mod_negotiation de déterminer les extensions de + fichiers à inclure lors des tests de correspondances multivues.

+ +

Alors que mod_mime associe des métadonnées avec + des extensions de fichiers, le serveur de base core + fournit des directives permettant d'associer tous les fichiers d'un + conteneur donné (par exemple Location, Directory, ou Files) avec des métadonnées particulières. + Parmi ces directives, on trouve ForceType, SetHandler, SetInputFilter, et SetOutputFilter. Les directives du serveur + de base l'emportent sur toute directive d'association d'extensions + de noms de fichiers définie par mod_mime.

+ +

Notez que la modification des métadonnées d'un fichier ne modifie + pas la valeur de l'en-tête Last-Modified. Ainsi, + certaines copies de documents préalablement mises en cache peuvent + encore être utilisées par un client ou un mandataire avec les + anciens en-têtes. Si vous modifiez les métadonnées (langage, type de + contenu, jeu de caractère ou codage), vous devez donc enregistrer + une modification du fichier concerné (afin de mettre à jour sa date + de dernière modification), pour être sûr que tous les visiteurs + recevront le documents avec les en-têtes corrects.

+
+MimeMagicFile +AddDefaultCharset +ForceType +SetHandler +SetInputFilter +SetOutputFilter + +
Fichiers avec extensions +multiples +

Les fichiers peuvent posséder plusieurs extensions dont l'ordre + est normalement sans importance. Par exemple, si + le fichier welcome.html.fr est associé au type de + contenu text/html et au langage Français, le fichier + welcome.fr.html possèdera exactement les même + métadonnées. Si le fichier possède plusieurs extensions associées + au même type de métadonnée, c'est celle de ces extensions la plus à + droite qui sera utilisée, excepté pour ce qui concerne les langages + et les codages de contenu. Par exemple, si .gif est + associé au type de médium + image/gif, et .html au type de médium + text/html, le fichier welcome.gif.html + sera associé au type de médium text/html.

+ +

Les Languages et les codages de contenu sont traités de + manière cumulative, car il est possible d'assigner plusieurs + langages ou codages à une ressource particulière. Par exemple, le + fichier welcome.html.en.de sera servi avec les en-têtes + Content-Language: en, de et Content-Type: + text/html.

+ +

Des précautions doivent être prises lorsqu'un fichier avec + extensions multiples est associé à la fois à un type de + médium et à un gestionnaire. En général, cela impliquera + la gestion de la requête par le module associé au gestionnaire. Par + exemple, si l'extension .imap est associée au + gestionnaire imap-file (du module + mod_imagemap), et si l'extension .html + est associée au type de médium text/html, le fichier + world.imap.html sera à la fois associé au gestionnaire + imap-file et au type de médium text/html. + Pour son traitement, c'est le gestionnaire imap-file + qui sera utilisé, et il sera donc traité en tant que fichier + imagemap.

+ +

Si vous préférez que seule la dernière partie d'un nom de fichier + séparée du reste du nom par un point soit associée à une métadonnée + particulière, n'utilisez pas les directives Add*. Par + exemple, si vous souhaitez que le fichier foo.html.cgi + soit traité en tant que script CGI, mais pas le fichier + bar.cgi.html, alors, au lieu d'utiliser + AddHandler cgi-script .cgi, utilisez plutôt :

+ + Configuration du gestionnaire en se basant seulement + sur la dernière extension + +<FilesMatch "[^.]+\.cgi$"> + SetHandler cgi-script +</FilesMatch> + + + +
+ +
Codage du contenu +

Un fichier d'un type de médium particulier + peut être aussi codé d'une certaine manière pour simplifier sa + transmission sur Internet. Alors que cela concerne en général la + compression, comme gzip, il peut aussi s'agir de + chiffrement, comme pgp ou d'un codage comme UUencoding, + qui est conçu pour transmettre un fichier binaire sous un format + ASCII (texte).

+ +

La RFC + HTTP/1.1, section 14.11 stipule à ce titre :

+ +
+

Le champ d'en-tête Content-Encoding de l'entité est utilisé en + tant que modificateur du type de médium. Lorsqu'il est présent, sa + valeur indique quels codages de contenu additionnels ont été + appliqués au corps de l'entité, et ainsi quels mécanismes de + décodage doivent être appliqués afin de retrouver le type de + médium référencé par le champ d'en-tête Content-Type. Le codage de + contenu est principalement utilisé pour permettre la compression + d'un document sans perdre l'information concernant le type de + médium sous-jacent.

+
+ +

En utilisant plusieurs extensions (voir la section ci-dessus à propos des extensions de + fichiers multiples), vous pouvez indiquer qu'un fichier est d'un + type, particulier, et possède aussi un codage + particulier.

+ +

Considérons par exemple un fichier contenant un document + Microsoft Word et compressé par pkzip pour réduire sa taille. Si + l'extension .doc est associée au type de fichier + Microsoft Word, et si l'extension .zip est associée au + codage de fichier pkzip, alors le fichier + Resume.doc.zip sera identifié comme document Word + compressé par pkzip.

+ +

Apache joint un en-tête Content-encoding à la + ressource afin d'informer le navigateur client à propos de la + méthode de codage.

+ + Content-encoding: pkzip +
+ +
Jeux de caractères et langages +

En plus du type de fichier et du codage, un autre élément + important d'information est le langage dans lequel le document est + écrit, et avec quel jeu de caractères le contenu du fichier doit + être affiché. Par exemple, un document peut être écrit en alphabet + vietnamien ou cyrillique, et doit être affiché en conséquence. Cette + information est aussi transmise via des en-têtes HTTP.

+ +

Les jeu de caractères, langage, codage et type MIME sont tous + utilisés au cours du processus de négociation de contenu (voir + mod_negotiation) afin de déterminer quel document + servir au client, lorsque plusieurs choix sont possibles en fonction + du jeu de caractères, du langage, du codage ou du type MIME. Toutes + les associations d'extensions de noms de fichiers créées via les + directives AddCharset, + AddEncoding, AddLanguage et AddType (ainsi que les associations + d'extensions listées dans le fichier défini par la directive + MimeMagicFile), + participent à ce processus de sélection. Les extensions de noms de + fichiers qui n'ont été associés que par des directives AddHandler, AddInputFilter ou AddOutputFilter, peuvent être incluses + ou exclues du processus de sélection en utilisant la directive + MultiviewsMatch.

+ +
Jeu de caractères +

Pour transmettre cette information supplémentaire, Apache peut + ajouter un en-tête Content-Language, afin de + spécifier le langage dans lequel le document est écrit, et peut + ajouter des informations additionnelles à l'en-tête + Content-Type pour indiquer le jeu de caractères + particulier qui doit être utilisé pour restituer correctement le + document.

+ + + Content-Language: en, fr +Content-Type: text/plain; charset=ISO-8859-1 + + +

Le langage est spécifié via son abréviation en deux lettres. Le + jeu de caractères est le nom du jeu de caractères + particulier qui doit être utilisé.

+
+
+ + +AddCharset +Associe les extensions de noms de fichiers spécifiées au +jeu de caractères spécifié +AddCharset jeu-car extension +[extension] ... +server configvirtual host +directory.htaccess +FileInfo + + +

La directive AddCharset permet d'associer + les extensions de noms de fichiers spécifiées au jeu de caractères + spécifié (le nom enregistré sur l'Internet d'un codage de caractères + donné). jeu-car est le paramètre jeu + de caractères du type de médium pour les ressources dont le nom + de fichier contient extension. Cette association est + ajoutée à toutes les autres déjà en vigueur, et écrase toute + association préexistante pour la même extension.

+ + Exemple + +AddLanguage ja .ja +AddCharset EUC-JP .euc +AddCharset ISO-2022-JP .jis +AddCharset SHIFT_JIS .sjis + + + +

Avec cet exemple, le document xxxx.ja.jis sera + traité en tant que document japonais dont le jeu de caractère est + ISO-2022-JP (idem pour le document + xxxx.jis.ja). La directive + AddCharset sert à la fois à informer le + client sur le codage des caractères du document afin que ce dernier + puisse être interprété et affiché correctement, et à la négociation de contenu, au + cours de laquelle le serveur décide lequels parmi plusieurs + documents possibles il renvoie au client en fonction des préférences + de ce dernier en matière de jeu de caractères.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +
+mod_negotiation +AddDefaultCharset +
+ + +AddEncoding +Associe les extensions de noms de fichiers données au type +de codage spécifié +AddEncoding codage extension +[extension] ... +server configvirtual host +directory.htaccess +FileInfo + + +

La directive AddEncoding permet d'associer + les extensions de noms de fichiers données au codage de contenu HTTP + spécifié. codage est le codage de contenu HTTP à ajouter + à la valeur du champ d'en-tête Content-Encoding pour les documents + possédant l'extension spécifiée. Cette association est + ajoutée à toutes les autres déjà en vigueur, et écrase toute + association préexistante pour la même extension.

+ + Exemple + +AddEncoding x-gzip .gz +AddEncoding x-compress .Z + + + +

Avec cet exemple, les noms de fichiers possédant l'extension + .gz seront marqués comme codés à l'aide du codage + x-gzip, et les noms de fichiers possédant l'extension + .Z comme codés avec x-compress.

+ +

Les clients anciens n'acceptent que x-gzip et + x-compress, bien que les standards stipulent qu'ils + sont respectivement équivalents à gzip et + compress. Apache effectue ses comparaisons de codages + de contenu en ignorant tout préfixe x-. Lorsqu'il + répond avec un codage, Apache utilise l'une ou l'autre forme (c'est + à dire x-foo ou foo) selon les besoins du + client. Si le client n'a pas besoin d'une forme particulière, Apache + utilisera la forme employée par la directive + AddEncoding. Pour résumer, vous devez toujours utiliser + x-gzip et x-compress pour ces deux + codages spécifiques. Certains codages plus récents, comme + deflate, doivent être spécifiés sans le préfixe + x-.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+
+
+ + +AddHandler +Associe les extensions de noms de fichiers données au +gestionnaire spécifié +AddHandler nom-gestionnaire extension +[extension] ... +server configvirtual host +directory.htaccess +FileInfo + + +

Les fichiers dont le nom a pour extension extension + seront servis par le nom-gestionnaire spécifié. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + extension. Par exemple, pour associer les scripts CGI + avec l'extension de fichier .cgi, vous pouvez utiliser + :

+ + + AddHandler cgi-script .cgi + + +

Une fois cette ligne insérée dans votre fichier httpd.conf, tout + fichier possédant l'extension .cgi sera traité en tant + que programme CGI.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+
+SetHandler +
+ + +AddInputFilter +Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les requêtes clients +AddInputFilter filtre[;filtre...] +extension [extension] ... +server configvirtual host +directory.htaccess +FileInfo + + +

La directive AddInputFilter permet + d'associer l'extension de nom de fichier extension aux filtres spécifiésqui traiteront les + requêtes clients et les entrées POST à leur réception par le + serveur. Ceci s'ajoute à toute définition de filtre préexistante, y + compris la directive SetInputFilter. Cette + association est ajoutée à toutes les autres déjà en vigueur, et + écrase toute association préexistante pour la même + extension.

+ +

Si plusieurs filtres sont spécifiés, ils doivent être + séparés par des points-virgules et inscrits dans l'ordre selon + lequel ils devront traiter le contenu. L'argument filtre + est insensible à la casse.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +
+RemoveInputFilter +SetInputFilter +
+ + +AddLanguage +Associe l'extension de nom de fichier donnée au langage +spécifié +AddLanguage symbole-langage extension +[extension] ... +server configvirtual host +directory.htaccess +FileInfo + + +

La directive AddLanguage permet d'associer + l'extension de nom de fichier donnée au langage spécifié. Les + fichiers dont l'extension correspond à la valeur + de l'argument extension se voient attribuer la valeur de + l'argument symbole-langage comme en-tête HTTP + Content-Language en accord avec les identifiants de langages définis + par la RFC 3066. Cette directive l'emporte sur toute association + préexistante pour la même extension.

+ + Exemple + +AddEncoding x-compress .Z +AddLanguage en .en +AddLanguage fr .fr + + + +

Avec cet exemple, le document xxxx.en.Z sera traité + en tant que document compressé de langue anglaise (idem pour le + document xxxx.Z.en). Bien que le langage soit fourni au + client, le navigateur n'utilise habituellement pas cette + information. La directive AddLanguage est + principalement utilisée au cours de la négociation de contenu, où le + serveur choisit d'envoyer un document parmi plusieurs documents + possibles en fonction de la préférence du client en matière de + langage.

+ +

Si une extension fait l'objet de plusieurs associations de + langages, c'est la dernière qui sera utilisée. Ainsi, dans le cas + suivant,

+ + +AddLanguage en .en +AddLanguage en-gb .en +AddLanguage en-us .en + + +

les documents possédant l'extension .en seront + traités en tant que documents de langage en-us.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+
+mod_negotiation +
+ + +AddOutputFilter +Associe les extensions de noms de fichiers aux +filtres spécifiés qui traiteront les réponses en provenance du +serveur +AddOutputFilter filtre[;filtre...] +extension [extension] ... +server configvirtual host +directory.htaccess +FileInfo + + +

La directive AddOutputFilter permet + d'associer l'extension de nom de fichier définie par l'argument + extension aux filtres qui traiteront les réponses en + provenance du serveur avant de les envoyer au client. Ces filtres + s'ajoutent à tout filtre défini par d'autres directives comme + SetOutputFilter et AddOutputFilterByType. Cette association + est fusionnée avec toute autre association en vigueur, et l'emporte + sur toute association préexistante pour la même + extension.

+ +

Avec l'exemple suivant, tous les fichiers .shtml + seront traités en tant qu'inclusions côté serveur (SSI), et la + sortie sera compressée à l'aide du module + mod_deflate.

+ + + AddOutputFilter INCLUDES;DEFLATE shtml + + +

Si plusieurs filtres sont spécifiés, ils doivent être + séparés par des points-virgules et inscrits dans l'ordre selon + lequel il devront traiter le contenu. L'argument filtre + est insensible à la casse.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +

Notez que toute définition de filtres via la directive AddOutputFilter remplace toutes les + définitions précédentes effectuées via cette même directive.

+ + +# Filtre spécifié "DEFLATE" +AddOutputFilter DEFLATE shtml +<Location "/foo"> + # Filtre spécifié "INCLUDES", remplace "DEFLATE" + AddOutputFilter INCLUDES shtml +</Location> +<Location "/bar"> + # Filtre spécifié "INCLUDES;DEFLATE", remplace "DEFLATE" + AddOutputFilter INCLUDES;DEFLATE shtml +</Location> +<Location "/bar/baz"> + # Filtre spécifié "BUFFER", remplace "INCLUDES;DEFLATE" + AddOutputFilter BUFFER shtml +</Location> +<Location "/bar/baz/buz"> + # Pas de filtre spécifié, suppression de "BUFFER" + RemoveOutputFilter shtml +</Location> + +
+RemoveOutputFilter +SetOutputFilter +
+ + +AddType +Associe les extensions de noms de fichiers au type de +contenu spécifié +AddType type-médium extension +[extension] ... +server configvirtual host +directory.htaccess +FileInfo + + +

La directive AddType permet d'associer les + extensions de noms fichiers données au type de contenu spécifié. + type-médium est le Type + MIME à utiliser pour les fichiers dont le nom possède + l'extension extension. Cette association s'ajoute à toute + autre association en vigueur, et l'emporte sur toute association + préexistante pour la même extension.

+ + + Plutôt que d'éditer directement le fichier TypesConfig, il est recommandé + d'utiliser la directive AddType pour + ajouter de nouveaux types de médias. + + + Exemple + + AddType image/gif .gif + + + +

Ou, pour spécifier plusieurs extensions dans une seule directive + :

+ + Exemple + + AddType image/jpeg jpeg jpg jpe + + + +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial. Les noms de fichiers + peuvent posséder plusieurs extensions, et + l'argument extension sera comparé à chacune d'entre + elles.

+ +

Il est possible d'obtenir un effet similaire à celui de la + directive LanguagePriority du module + mod_negotiation en qualifiant un type de + média avec qs :

+ + Exemple + + AddType application/rss+xml;qs=0.8 .xml + + + +

Ceci peut s'avérer utile dans certaines situations, par exemple + lorsqu'un client qui a ajouté un en-tête Accept: */* à + sa requête n'est pas en mesure de traiter le contenu renvoyé par le + serveur.

+ +

A la base, cette directive configure le type de contenu généré + pour les fichiers statiques servis à partir du système de fichiers. + Dans le cas des ressources autres que les fichiers statiques pour + lesquelles le générateur de la réponse spécifie en général un + Content-Type, cette directive n'a aucun effet.

+ + Note +

Si aucun gestionnaire n'a été explicitement défini pour une + requête, c'est le type de contenu spécifié qui sera utilisé comme + nom de gestionnaire.

+ +

Lorsqu'aucune directive comme SetHandler ou + module="mod_mime">AddHandler ne s'applique à + une requête, le nom de gestionnaire interne qui aurait du être + défini par une de ces directives correspond alors au type de contenu + spécifié par la directive AddType. +

+

+ Pour des raisons historiques, certains modules tiers comme mod_php + peuvent adopter ce comportement pour forcer la prise en compte de la + requête concernée. +

+ +

Il est conseillé d'éviter les configurations qui reposent sur de + tels types "synthétiques". En outre, les configurations qui + limitent l'accès aux directives SetHandler ou AddHandler doivent aussi limiter + l'accès à la directive AddType.

+
+ +
+ForceType +mod_negotiation +
+ + +MultiviewsMatch +Les types de fichiers qui seront inclus lors d'une +recherche de correspondance de fichier avec les vues multiples +(MultiViews) +MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers +[Handlers|Filters] +MultiviewsMatch NegotiatedOnly +server configvirtual host +directory.htaccess +FileInfo + + +

La directive MultiviewsMatch permet trois + comportements différents pour la fonctionnalité Multiviews du module + mod_negotiation. Les vues + multiples permettent d'associer une requête pour un fichier, par + exemple index.html, à toute extension négotiée + s'ajoutant à la requête de base, par exemple + index.html.en, index.html.fr, ou + index.html.gz.

+ +

L'option NegotiatedOnly implique que toute extension + s'ajoutant au nom de base doit correspondre à une extension de + mod_mime reconnue pour la négociation de contenu, + par exemple Charset, Content-Type, Language, ou Encoding. C'est la + valeur d'option par défaut, et la contrainte la plus stricte + dont les effets de bord inattendus sont les moins nombreux.

+ +

Pour inclure des extensions associées avec des gestionnaires + et/ou des filtres, définissez la directive + MultiviewsMatch avec les mots-clés + Handlers, Filters, ou les deux. Si tous + les autres facteurs sont égaux, c'est le fichier de plus petite + taille qui sera servi ; par exemple, si le choix doit s'opérer entre + index.html.cgi de 500 octets et + index.html.pl de 1000 octets, c'est le fichier + .cgi qui l'emportera dans cet exemple. Les utilisateurs + de fichiers .asis auront avantage à utiliser l'option + Handler, si les fichiers .asis sont associés au + gestionnaire asis-handler.

+ +

Vous pouvez enfin autoriser l'association de toute extension avec + l'option Any, même si mod_mime ne + reconnaît pas l'extension. Ceci + peut conduire à des résultats imprévisibles, comme l'envoi de + fichiers .old ou .bak contrairement aux souhaits du webmaster.

+ +

Par exemple, la configuration suivante va permettre l'inclusion + des extensions associées aux gestionnaires et aux filtres dans les + vues multiples, tout en excluant les fichiers de type inconnu :

+ + + MultiviewsMatch Handlers Filters + + +

L'utilisation de la directive + MultiviewsMatch dans une section Location ou LocationMatch n'est pas + permise.

+ +
+Options +mod_negotiation +
+ + +DefaultLanguage +Défini un symbole de langage par défaut à affecter au champ +d'en-tête Content-Language pour toutes les ressources dans le contexte +courant auxquelles aucun symbole de langage n'a été +associé. +DefaultLanguage symbole-langage +server configvirtual host +directory.htaccess +FileInfo + + +

La directive DefaultLanguage permet + d'indiquer à Apache que toutes les ressources du contexte courant + (par exemple, toutes les ressources concernées par le conteneur + Directory + courant) qui ne possèdent pas d'extension de langage explicite + (comme .fr ou .de tel que défini par la + directive AddLanguage), + verront leur en-tête HTTP Content-Language affecté du langage + symbole-langage. Ceci permet de marquer des arborescences + de répertoires entières comme contenant des documents en français, + par exemple, sans avoir à renommer chaque fichier. Notez qu'à la + différence de l'utilisation des extensions pour spécifier des + langages, DefaultLanguage ne permet de + spécifier qu'un seul langage.

+ +

Si aucune directive DefaultLanguage n'est + en vigueur, et si un fichier ne possède pas d'extension configurée + par la directive AddLanguage, aucun champ d'en-tête + Content-Language ne sera généré.

+ + Exemple + + DefaultLanguage en + + +
+mod_negotiation +
+ + +ModMimeUsePathInfo +Indique à mod_mime de traiter les éléments +de path_info en tant que parties du nom de +fichier +ModMimeUsePathInfo On|Off +ModMimeUsePathInfo Off +directory + + +

La directive ModMimeUsePathInfo permet de + combiner le nom de fichier avec la partie path_info de + l'URL pour appliquer les directives mod_mime à la + requête. La valeur par défaut est Off - situation dans + laquelle l'élément path_info est ignoré.

+ +

L'utilisation de cette directive est conseillée si vous utilisez + un système de fichiers virtuel.

+ + Exemple + + ModMimeUsePathInfo On + + + +

Considérons une requête pour /index.php/foo.shtml, + mod_mime ne traitera pas la requête entrante comme + /index.php/foo.shtml et les directives comme + AddOutputFilter INCLUDES .shtml ajouteront le filtre + INCLUDES à la requête. Si la directive + ModMimeUsePathInfo n'est pas définie, le + filtre INCLUDES ne sera pas ajouté. Le fonctionnement + sera identique dans le cas des chemins virtuels, tels que ceux + définis par la directive Location

+
+AcceptPathInfo +
+ + +RemoveCharset +Supprime toute association de jeu de caractères pour un +ensemble d'extensions de noms de fichiers +RemoveCharset extension [extension] +... +virtual hostdirectory +.htaccess +FileInfo + + +

La directive RemoveCharset permet de + supprimer toute association de jeu de caractères pour les fichiers + dont les noms possèdent les extensions spécifiées. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ + Exemple + + RemoveCharset .html .shtml + + +
+
+ + +RemoveEncoding +Supprime toute association de codage de contenu pour un +ensemble d'extensions de noms de fichiers +RemoveEncoding extension [extension] +... +virtual hostdirectory +.htaccess +FileInfo + + +

La directive RemoveEncoding permet de + supprimer toute association de codage pour les fichiers dont les + noms possèdent les extensions spécifiées. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :

+ + /foo/.htaccess: + +AddEncoding x-gzip .gz +AddType text/plain .asc +<Files "*.gz.asc"> + RemoveEncoding .gz +</Files> + + + +

Avec cette configuration, le fichier foo.gz sera + marqué comme codé avec gzip, mais foo.gz.asc sera + marqué comme fichier texte non codé.

+ + Note +

Les directives RemoveEncoding étant + traitées après toute directive AddEncoding, il est possible + qu'elles annulent les effets de ces dernières si les deux + apparaissent dans la configuration du même répertoire.

+
+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+
+
+ + +RemoveHandler +Supprime toute association de gestionnaire à un ensemble +d'extensions de noms de fichiers +RemoveHandler extension [extension] +... +virtual hostdirectory +.htaccess +FileInfo + + +

La directive RemoveHandler permet de + supprimer toute association de gestionnaire à des fichiers dont le + nom possède l'extension donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :

+ + /foo/.htaccess: + + AddHandler server-parsed .html + + + + /foo/bar/.htaccess: + + RemoveHandler .html + + + +

Avec cette dernière ligne, les fichiers .html du + répertoire /foo/bar seront traités en tant que fichiers + normaux, au lieu d'être traités en tant que candidats à + l'interprétation (voir le module mod_include + module).

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+
+
+ + +RemoveInputFilter +Supprime toute association de filtre en entrée à un +ensemble d'extensions de noms de fichiers +RemoveInputFilter extension [extension] +... +virtual hostdirectory +.htaccess +FileInfo + + +

La directive RemoveInputFilter permet de + supprimer toute association de filtre + en entrée à des fichiers dont le nom possède l'extension donnée. + Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+
+AddInputFilter +SetInputFilter +
+ + +RemoveLanguage +Supprime toute association de langage à un ensemble +d'extensions de noms de fichiers +RemoveLanguage extension [extension] +... +virtual hostdirectory +.htaccess +FileInfo + + +

La directive RemoveLanguage permet de + supprimer toute association de langage à des fichiers dont le nom + possède l'extension donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+
+
+ + +RemoveOutputFilter +Supprime toute association de filtre en sortie à un +ensemble d'extensions de noms de fichiers +RemoveOutputFilter extension [extension] +... +virtual hostdirectory +.htaccess +FileInfo + + +

La directive RemoveOutputFilter permet de + supprimer toute association de filtre + en sortie à des fichiers dont le nom possède l'extension donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier.

+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+ + Exemple + + RemoveOutputFilter shtml + + +
+AddOutputFilter +
+ + +RemoveType +Supprime toute association de type de contenu à un ensemble +d'extensions de noms de fichiers +RemoveType extension [extension] +... +virtual hostdirectory +.htaccess +FileInfo + + +

La directive RemoveType permet de + supprimer toute association de type de + médium à des fichiers dont le nom possède l'extension + donnée. Ceci permet, au + sein des fichiers .htaccess, d'annuler toute + association héritée du répertoire parent ou de la configuration du + serveur pour un répertoire particulier. Voici un exemple + d'utilisation de cette directive :

+ + /foo/.htaccess: + + RemoveType .cgi + + + +

Cette ligne aura pour effet de supprimer tout traitement + spécifique des fichiers .cgi dans le répertoire + /foo/ et ses sous-répertoires, et les réponses + contenant ce type de fichier ne possèderont pas de champ d'en-tête + HTTP Content-Type.

+ + Note +

Les directives RemoveType sont traitées + après toutes les directives AddType, et il est possible que les + effets de ces dernières soient annulés si les deux types de + directives sont présents au sein de la configuration du même + répertoire.

+
+ +

L'argument extension est insensible à la casse et peut + être spécifié avec ou sans le point initial.

+
+
+ + +TypesConfig +Le chemin du fichier mime.types +TypesConfig chemin-fichier +TypesConfig conf/mime.types +server config + + +

La directive TypesConfig permet de définir + le chemin du fichier de configuration des types de média. L'argument + chemin-fichier est un chemin relatif au répertoire défini + par la directive ServerRoot. Ce + fichier contient la liste des associations par défaut des extensions + de noms de fichiers aux types de contenus. La plupart des + administrateurs utilisent le fichier mime.types fourni + par leur OS, + qui associe les extensions de noms de fichiers courantes à la liste + officielle des types de média enregistrés par l'IANA et maintenue à + http://www.iana.org/assignments/media-types/index.html, ainsi + qu'un grand nombre de types non officiels. Ce fichier permet de + simplifier le fichier httpd.conf en fournissant la + majorité des définitions de types de média, et ses définitions + peuvent être écrasées par des directives AddType, selon les besoins. Il est + déconseillé de modifier le contenu du fichier + mime.types car il peut être remplacé lors d'une mise à + jour du serveur.

+ +

Le fichier contient des lignes dont le format est identique à + celui des arguments d'une directive AddType :

+ + + type-médium [extension] ... + + +

Les extensions sont insensibles à la casse. Les lignes vides et + les lignes commençant par un dièse (#) sont + ignorées. Les lignes vides servent à compléter le fichier + mime.types. Apache httpd peut encore déterminer ces types via le + module mod_mime_magic.

+ + + Merci de ne pas soumettre de requêtes au Projet + de Serveur HTTP Apache pour ajouter une entrée dans le fichier + mime.types fourni, sauf si : + 1) le type de médium est déjà enregistré à l'IANA + 2) et si l'extension est largement acceptée et ne provoque pas de + conflits d'extensions entre les différentes plate-formes. Les + requêtes du type catégorie/x-sous-type seront + systématiquement rejetées, ainsi que toute nouvelle extension de + deux lettres, car elle ont de fortes chances d'entrer en conflit + par la suite avec les innombrables langages préexistants et les + espaces de nommage des jeux de caractères. + +
+mod_mime_magic +
+ +
diff --git a/docs/manual/mod/mod_mime.xml.meta b/docs/manual/mod/mod_mime.xml.meta index 9efe9ca614..b01d57d49d 100644 --- a/docs/manual/mod/mod_mime.xml.meta +++ b/docs/manual/mod/mod_mime.xml.meta @@ -8,6 +8,7 @@ en + fr ja diff --git a/docs/manual/mod/mod_mime_magic.html b/docs/manual/mod/mod_mime_magic.html index fd1bb7229a..bece3b0d0a 100644 --- a/docs/manual/mod/mod_mime_magic.html +++ b/docs/manual/mod/mod_mime_magic.html @@ -3,3 +3,7 @@ URI: mod_mime_magic.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_mime_magic.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_mime_magic.html.fr b/docs/manual/mod/mod_mime_magic.html.fr new file mode 100644 index 0000000000..30fe5f0acc --- /dev/null +++ b/docs/manual/mod/mod_mime_magic.html.fr @@ -0,0 +1,312 @@ + + + + + +mod_mime_magic - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_mime_magic

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Détermine le type MIME d'un fichier à partir de quelques +octets de son contenu
Statut:Extension
Identificateur de Module:mime_magic_module
Fichier Source:mod_mime_magic.c
+

Sommaire

+ +

Ce module permet de déterminer le type + MIME des fichiers de la même manière que la commande Unix + file(1), à savoir en se basant sur les premiers octets + du fichier. Il est conçu comme une "seconde ligne de défense" pour + les cas où mod_mime ne parvient pas à déterminer le + type du fichier.

+ +

Ce module est dérivé d'une version libre de la commande Unix + file(1) qui utilise des "nombres magiques" et autres + marques distinctives issus du contenu du fichier pour essayer de + déterminer le type de contenu. Ce module n'est activé que si le + fichier magique est spécifié par la directive MimeMagicFile.

+
+ +
top
+
+

Format du fichier magique

+ +

Le fichier contient du texte ASCII sur 4 à 5 colonnes. Les lignes + vides sont autorisées mais ignorées. Toute ligne commençant par un + dièse (#) est un commentaire. Les autres lignes sont + interprétées en colonnes comme suit :

+ + + + + + + + + + + + +
ColonneDescription
1numéro de l'octet à partir duquel la vérification débute
+ ">" indique une dépendance par rapport à la + dernière ligne non-">"
2

type de donnée à rechercher

+ + + + + + + + + + + + + + + + + + + + + + + + +
bytecaractère unique
shortentier sur 16 bits selon l'ordre de la machine
longentier sur 32 bits selon l'ordre de la machine
stringchaîne de taille choisie
datedate au format entier long (secondes depuis le temps Unix epoch/1970)
beshortentier 16 bits big-endian
belongentier 32 bits big-endian
bedatedate au format entier 32 bits big-endian
leshortentier 16 bits little-endian
lelongentier 32 bits little-endian
ledatedate au format entier 32 bits little-endian
3contenu des données à rechercher
4type MIME si correspondance
5codage MIME si correspondance (optionnel)
+ +

Par exemple, les lignes du fichier magique suivantes + permettraient de reconnaître certains formats audio :

+ +
# Sun/NeXT audio data
+0      string      .snd
+>12    belong      1       audio/basic
+>12    belong      2       audio/basic
+>12    belong      3       audio/basic
+>12    belong      4       audio/basic
+>12    belong      5       audio/basic
+>12    belong      6       audio/basic
+>12    belong      7       audio/basic
+>12    belong     23       audio/x-adpcm
+ +

Et celles-ci permettraient de reconnaître la différence entre les + fichiers *.doc qui contiennent des documents Microsoft + Word et les documents FrameMaker (ce sont des formats de fichiers + incompatibles qui possèdent le même suffixe).

+ +
# Frame
+0  string  \<MakerFile        application/x-frame
+0  string  \<MIFFile          application/x-frame
+0  string  \<MakerDictionary  application/x-frame
+0  string  \<MakerScreenFon   application/x-frame
+0  string  \<MML              application/x-frame
+0  string  \<Book             application/x-frame
+0  string  \<Maker            application/x-frame
+
+# MS-Word
+0  string  \376\067\0\043            application/msword
+0  string  \320\317\021\340\241\261  application/msword
+0  string  \333\245-\0\0\0           application/msword
+ +

Un champ optionnel codage MIME peut être ajouté dans la cinquième + colonne. Par exemple, cette ligne permet de reconnaître les fichiers + compressés par gzip et définissent le type de codage.

+ +
# gzip (GNU zip, à ne pas confondre avec
+#       l'archiveur zip [Info-ZIP/PKWARE])
+
+0  string  \037\213  application/octet-stream  x-gzip
+
top
+
+

Problèmes liés aux performances

+

Ce module n'est pas fait pour tous les systèmes. Si votre système + parvient à peine à supporter sa charge, ou si vous testez les + performances d'un serveur web, il est déconseillé d'utiliser ce + module car son fonctionnement a un prix en matière de ressources + consommées.

+ +

Des efforts ont cependant été fournis pour améliorer les + performances du code original de la commande file(1) en + l'adaptant pour fonctionner sur un serveur web à forte charge. Il a + été conçu pour un serveur sur lequel des milliers d'utilisateurs + publient leurs propres documents, ce qui est probablement très + courant sur un intranet. Il s'avère souvent bénéfique qu'un serveur + puisse prendre des décisions plus pertinentes à propos du contenu + d'un fichier que celles se basant sur le nom du fichier seul, ne + serait-ce que pour diminuer le nombre d'appels du type "pourquoi ma + page ne s'affiche-t-elle pas ?" survenant lorsque les utilisateurs + nomment leurs fichiers incorrectement. Vous devez déterminer si la + charge supplémentaire convient à votre environnement.

+
top
+
+

Notes

+

Les notes suivantes s'appliquent au module + mod_mime_magic et sont incluses ici pour + conformité avec les restrictions de copyright des contributeurs + qui requièrent de les accepter.

+

Note de traduction : ces informations de type légal ne sont pas traductibles

+ +
+

mod_mime_magic: MIME type lookup via file magic numbers
+ Copyright (c) 1996-1997 Cisco Systems, Inc.

+ +

This software was submitted by Cisco Systems to the Apache Group + in July 1997. Future revisions and derivatives of this source code + must acknowledge Cisco Systems as the original contributor of this + module. All other licensing and usage conditions are those of the + Apache Group.

+ +

Some of this code is derived from the free version of the file + command originally posted to comp.sources.unix. Copyright info for + that program is included below as required.

+
+ +
+

- Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.

+ +

This software is not subject to any license of the American + Telephone and Telegraph Company or of the Regents of the University + of California.

+ +

Permission is granted to anyone to use this software for any + purpose on any computer system, and to alter it and redistribute it + freely, subject to the following restrictions:

+ +
    +
  1. The author is not responsible for the consequences of use of + this software, no matter how awful, even if they arise from flaws + in it.
  2. + +
  3. The origin of this software must not be misrepresented, either + by explicit claim or by omission. Since few users ever read + sources, credits must appear in the documentation.
  4. + +
  5. Altered versions must be plainly marked as such, and must not + be misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation.
  6. + +
  7. This notice may not be removed or altered.
  8. +
+
+ +
+

For compliance with Mr Darwin's terms: this has been very + significantly modified from the free "file" command.

+ +
    +
  • all-in-one file for compilation convenience when moving from + one version of Apache to the next.
  • + +
  • Memory allocation is done through the Apache API's pool + structure.
  • + +
  • All functions have had necessary Apache API request or server + structures passed to them where necessary to call other Apache API + routines. (i.e., usually for logging, files, or memory + allocation in itself or a called function.)
  • + +
  • struct magic has been converted from an array to a single-ended + linked list because it only grows one record at a time, it's only + accessed sequentially, and the Apache API has no equivalent of + realloc().
  • + +
  • Functions have been changed to get their parameters from the + server configuration instead of globals. (It should be reentrant + now but has not been tested in a threaded environment.)
  • + +
  • Places where it used to print results to stdout now saves them + in a list where they're used to set the MIME type in the Apache + request record.
  • + +
  • Command-line flags have been removed since they will never be + used here.
  • +
+
+
+
top
+

Directive MimeMagicFile

+ + + + + + +
Description:Active la détermination du type MIME en se basant sur le +contenu du fichier et en utilisant le fichier magique +spécifié
Syntaxe:MimeMagicFile chemin-fichier
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_mime_magic
+

La directive MimeMagicFile permet + d'activer ce module, le fichier par défaut fourni étant + conf/magic. Les chemins sans slash '/' de début sont + relatifs au répertoire défini par la directive ServerRoot. Les serveurs virtuels + utilisent le même fichier que le serveur principal sauf si un + fichier spécifique a été défini pour ce serveur virtuel, auquel cas + c'est ce dernier fichier qui sera utilisé.

+ +

Exemple

MimeMagicFile conf/magic
+
+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_mime_magic.xml.fr b/docs/manual/mod/mod_mime_magic.xml.fr new file mode 100644 index 0000000000..3b525590dc --- /dev/null +++ b/docs/manual/mod/mod_mime_magic.xml.fr @@ -0,0 +1,285 @@ + + + + + + + + + + + +mod_mime_magic +Détermine le type MIME d'un fichier à partir de quelques +octets de son contenu +Extension +mod_mime_magic.c +mime_magic_module + + +

Ce module permet de déterminer le type + MIME des fichiers de la même manière que la commande Unix + file(1), à savoir en se basant sur les premiers octets + du fichier. Il est conçu comme une "seconde ligne de défense" pour + les cas où mod_mime ne parvient pas à déterminer le + type du fichier.

+ +

Ce module est dérivé d'une version libre de la commande Unix + file(1) qui utilise des "nombres magiques" et autres + marques distinctives issus du contenu du fichier pour essayer de + déterminer le type de contenu. Ce module n'est activé que si le + fichier magique est spécifié par la directive MimeMagicFile.

+
+ +
Format du fichier magique + +

Le fichier contient du texte ASCII sur 4 à 5 colonnes. Les lignes + vides sont autorisées mais ignorées. Toute ligne commençant par un + dièse (#) est un commentaire. Les autres lignes sont + interprétées en colonnes comme suit :

+ + + + + + + + + + + + + + + + + + +
ColonneDescription
1numéro de l'octet à partir duquel la vérification débute
+ ">" indique une dépendance par rapport à la + dernière ligne non-">"
2

type de donnée à rechercher

+ + + + + + + + + + + + + + + + + + + + + + + + +
bytecaractère unique
shortentier sur 16 bits selon l'ordre de la machine
longentier sur 32 bits selon l'ordre de la machine
stringchaîne de taille choisie
datedate au format entier long (secondes depuis le temps Unix epoch/1970)
beshortentier 16 bits big-endian
belongentier 32 bits big-endian
bedatedate au format entier 32 bits big-endian
leshortentier 16 bits little-endian
lelongentier 32 bits little-endian
ledatedate au format entier 32 bits little-endian
3contenu des données à rechercher
4type MIME si correspondance
5codage MIME si correspondance (optionnel)
+ +

Par exemple, les lignes du fichier magique suivantes + permettraient de reconnaître certains formats audio :

+ + +
# Sun/NeXT audio data
+0      string      .snd
+>12    belong      1       audio/basic
+>12    belong      2       audio/basic
+>12    belong      3       audio/basic
+>12    belong      4       audio/basic
+>12    belong      5       audio/basic
+>12    belong      6       audio/basic
+>12    belong      7       audio/basic
+>12    belong     23       audio/x-adpcm
+
+ +

Et celles-ci permettraient de reconnaître la différence entre les + fichiers *.doc qui contiennent des documents Microsoft + Word et les documents FrameMaker (ce sont des formats de fichiers + incompatibles qui possèdent le même suffixe).

+ + +
# Frame
+0  string  \<MakerFile        application/x-frame
+0  string  \<MIFFile          application/x-frame
+0  string  \<MakerDictionary  application/x-frame
+0  string  \<MakerScreenFon   application/x-frame
+0  string  \<MML              application/x-frame
+0  string  \<Book             application/x-frame
+0  string  \<Maker            application/x-frame
+
+# MS-Word
+0  string  \376\067\0\043            application/msword
+0  string  \320\317\021\340\241\261  application/msword
+0  string  \333\245-\0\0\0           application/msword
+
+ +

Un champ optionnel codage MIME peut être ajouté dans la cinquième + colonne. Par exemple, cette ligne permet de reconnaître les fichiers + compressés par gzip et définissent le type de codage.

+ + +
# gzip (GNU zip, à ne pas confondre avec
+#       l'archiveur zip [Info-ZIP/PKWARE])
+
+0  string  \037\213  application/octet-stream  x-gzip
+
+
+ +
Problèmes liés aux performances +

Ce module n'est pas fait pour tous les systèmes. Si votre système + parvient à peine à supporter sa charge, ou si vous testez les + performances d'un serveur web, il est déconseillé d'utiliser ce + module car son fonctionnement a un prix en matière de ressources + consommées.

+ +

Des efforts ont cependant été fournis pour améliorer les + performances du code original de la commande file(1) en + l'adaptant pour fonctionner sur un serveur web à forte charge. Il a + été conçu pour un serveur sur lequel des milliers d'utilisateurs + publient leurs propres documents, ce qui est probablement très + courant sur un intranet. Il s'avère souvent bénéfique qu'un serveur + puisse prendre des décisions plus pertinentes à propos du contenu + d'un fichier que celles se basant sur le nom du fichier seul, ne + serait-ce que pour diminuer le nombre d'appels du type "pourquoi ma + page ne s'affiche-t-elle pas ?" survenant lorsque les utilisateurs + nomment leurs fichiers incorrectement. Vous devez déterminer si la + charge supplémentaire convient à votre environnement.

+
+ +
Notes +

Les notes suivantes s'appliquent au module + mod_mime_magic et sont incluses ici pour + conformité avec les restrictions de copyright des contributeurs + qui requièrent de les accepter.

+

Note de traduction : ces informations de type légal ne sont pas traductibles

+ + +

mod_mime_magic: MIME type lookup via file magic numbers
+ Copyright (c) 1996-1997 Cisco Systems, Inc.

+ +

This software was submitted by Cisco Systems to the Apache Group + in July 1997. Future revisions and derivatives of this source code + must acknowledge Cisco Systems as the original contributor of this + module. All other licensing and usage conditions are those of the + Apache Group.

+ +

Some of this code is derived from the free version of the file + command originally posted to comp.sources.unix. Copyright info for + that program is included below as required.

+
+ + +

- Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.

+ +

This software is not subject to any license of the American + Telephone and Telegraph Company or of the Regents of the University + of California.

+ +

Permission is granted to anyone to use this software for any + purpose on any computer system, and to alter it and redistribute it + freely, subject to the following restrictions:

+ +
    +
  1. The author is not responsible for the consequences of use of + this software, no matter how awful, even if they arise from flaws + in it.
  2. + +
  3. The origin of this software must not be misrepresented, either + by explicit claim or by omission. Since few users ever read + sources, credits must appear in the documentation.
  4. + +
  5. Altered versions must be plainly marked as such, and must not + be misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation.
  6. + +
  7. This notice may not be removed or altered.
  8. +
+
+ + +

For compliance with Mr Darwin's terms: this has been very + significantly modified from the free "file" command.

+ +
    +
  • all-in-one file for compilation convenience when moving from + one version of Apache to the next.
  • + +
  • Memory allocation is done through the Apache API's pool + structure.
  • + +
  • All functions have had necessary Apache API request or server + structures passed to them where necessary to call other Apache API + routines. (i.e., usually for logging, files, or memory + allocation in itself or a called function.)
  • + +
  • struct magic has been converted from an array to a single-ended + linked list because it only grows one record at a time, it's only + accessed sequentially, and the Apache API has no equivalent of + realloc().
  • + +
  • Functions have been changed to get their parameters from the + server configuration instead of globals. (It should be reentrant + now but has not been tested in a threaded environment.)
  • + +
  • Places where it used to print results to stdout now saves them + in a list where they're used to set the MIME type in the Apache + request record.
  • + +
  • Command-line flags have been removed since they will never be + used here.
  • +
+
+
+ + +MimeMagicFile +Active la détermination du type MIME en se basant sur le +contenu du fichier et en utilisant le fichier magique +spécifié +MimeMagicFile chemin-fichier +server configvirtual host + + + +

La directive MimeMagicFile permet + d'activer ce module, le fichier par défaut fourni étant + conf/magic. Les chemins sans slash '/' de début sont + relatifs au répertoire défini par la directive ServerRoot. Les serveurs virtuels + utilisent le même fichier que le serveur principal sauf si un + fichier spécifique a été défini pour ce serveur virtuel, auquel cas + c'est ce dernier fichier qui sera utilisé.

+ + Exemple + + MimeMagicFile conf/magic + + +
+
+ +
diff --git a/docs/manual/mod/mod_mime_magic.xml.meta b/docs/manual/mod/mod_mime_magic.xml.meta index b697ddfa39..f4302a5bc7 100644 --- a/docs/manual/mod/mod_mime_magic.xml.meta +++ b/docs/manual/mod/mod_mime_magic.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_nw_ssl.html b/docs/manual/mod/mod_nw_ssl.html index c1342c072a..32be10e166 100644 --- a/docs/manual/mod/mod_nw_ssl.html +++ b/docs/manual/mod/mod_nw_ssl.html @@ -3,3 +3,7 @@ URI: mod_nw_ssl.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_nw_ssl.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_nw_ssl.html.fr b/docs/manual/mod/mod_nw_ssl.html.fr new file mode 100644 index 0000000000..1895280857 --- /dev/null +++ b/docs/manual/mod/mod_nw_ssl.html.fr @@ -0,0 +1,131 @@ + + + + + +mod_nw_ssl - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_nw_ssl

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Active le chiffrement SSL pour Netware
Statut:Base
Identificateur de Module:nwssl_module
Fichier Source:mod_nw_ssl.c
Compatibilité:NetWare seulement
+

Sommaire

+ +

Ce module active le chiffrement SSL sur un port spécifique. Il + s'appuie sur la fonctionnalité de chiffrement SSL intégrée au + système d'exploitation Netware.

+
+ + +
top
+

Directive NWSSLTrustedCerts

+ + + + + + +
Description:Liste de certificats clients supplémentaires
Syntaxe:NWSSLTrustedCerts nom-fichier +[nom-fichier] ...
Contexte:configuration du serveur
Statut:Base
Module:mod_nw_ssl
+

Cette directive permet de spécifier une liste de fichiers (au + format DER) contenant des certificats clients utilisés lors de + l'établissement d'une connexion SSL mandatée. Chaque certificat + client utilisé par un serveur doit être enregistré séparément dans + son propre fichier .der.

+ +
+
top
+

Directive NWSSLUpgradeable

+ + + + + + +
Description:Permet de promouvoir une connexion non SSL au statut de +connexion SSL à la demande
Syntaxe:NWSSLUpgradeable [adresse-IP:]num-port
Contexte:configuration du serveur
Statut:Base
Module:mod_nw_ssl
+

Cette directive permet de promouvoir une connexion établie sur + l'adresse IP et/ou le port spécifiés au statut de connexion SSL à la + demande du client. L'adresse et/ou le port doivent avoir été définis + au préalable par une directive Listen.

+ +
+
top
+

Directive SecureListen

+ + + + + + +
Description:Active le chiffrement SSL pour le port +spécifié
Syntaxe:SecureListen [adresse-IP:]num-port +nom-certificat [MUTUAL]
Contexte:configuration du serveur
Statut:Base
Module:mod_nw_ssl
+

Cette directive permet de spécifier le port et le nom de + certificat de style eDirectory qui seront utilisés pour activer le + chiffrement SSL. En outre, un troisième paramètre optionnel permet + d'activer l'authentification mutuelle.

+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_nw_ssl.xml.fr b/docs/manual/mod/mod_nw_ssl.xml.fr new file mode 100644 index 0000000000..5f4f7a398a --- /dev/null +++ b/docs/manual/mod/mod_nw_ssl.xml.fr @@ -0,0 +1,88 @@ + + + + + + + + + + + +mod_nw_ssl +Active le chiffrement SSL pour Netware +Base +mod_nw_ssl.c +nwssl_module +NetWare seulement + + +

Ce module active le chiffrement SSL sur un port spécifique. Il + s'appuie sur la fonctionnalité de chiffrement SSL intégrée au + système d'exploitation Netware.

+
+ + +SecureListen +Active le chiffrement SSL pour le port +spécifié +SecureListen [adresse-IP:]num-port +nom-certificat [MUTUAL] +server config + + +

Cette directive permet de spécifier le port et le nom de + certificat de style eDirectory qui seront utilisés pour activer le + chiffrement SSL. En outre, un troisième paramètre optionnel permet + d'activer l'authentification mutuelle.

+
+
+ + +NWSSLTrustedCerts +Liste de certificats clients supplémentaires +NWSSLTrustedCerts nom-fichier +[nom-fichier] ... +server config + + +

Cette directive permet de spécifier une liste de fichiers (au + format DER) contenant des certificats clients utilisés lors de + l'établissement d'une connexion SSL mandatée. Chaque certificat + client utilisé par un serveur doit être enregistré séparément dans + son propre fichier .der.

+
+
+ + +NWSSLUpgradeable +Permet de promouvoir une connexion non SSL au statut de +connexion SSL à la demande +NWSSLUpgradeable [adresse-IP:]num-port +server config + + +

Cette directive permet de promouvoir une connexion établie sur + l'adresse IP et/ou le port spécifiés au statut de connexion SSL à la + demande du client. L'adresse et/ou le port doivent avoir été définis + au préalable par une directive Listen.

+
+
+ +
diff --git a/docs/manual/mod/mod_nw_ssl.xml.meta b/docs/manual/mod/mod_nw_ssl.xml.meta index 2c81bf124a..6cdff9ea57 100644 --- a/docs/manual/mod/mod_nw_ssl.xml.meta +++ b/docs/manual/mod/mod_nw_ssl.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_privileges.html b/docs/manual/mod/mod_privileges.html index 9956b62fba..53c085578e 100644 --- a/docs/manual/mod/mod_privileges.html +++ b/docs/manual/mod/mod_privileges.html @@ -3,3 +3,7 @@ URI: mod_privileges.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_privileges.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_privileges.html.fr b/docs/manual/mod/mod_privileges.html.fr new file mode 100644 index 0000000000..04265439e3 --- /dev/null +++ b/docs/manual/mod/mod_privileges.html.fr @@ -0,0 +1,480 @@ + + + + + +mod_privileges - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_privileges

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support des privilèges de Solaris et de l'exécution des +serveurs virtuels sous différents identifiants +utilisateurs.
Statut:Expérimental
Identificateur de Module:privileges_module
Fichier Source:mod_privileges.c
Compatibilité:Disponible depuis la version 2.3 d'Apache sur les +plates-formes Solaris 10 et OpenSolaris
+

Sommaire

+ +

Ce module permet l'exécution de différents serveurs virtuels sous +différents identifiants Unix User et Group, +et avec différents Privilèges +Solaris. En particulier, il apporte au problème de +séparation des privilèges entre les différents serveurs virtuels la +solution que devait apporter le module MPM abandonné perchild. Il +apporte aussi d'autres améliorations en matière de sécurité.

+ +

À la différence de perchild, mod_privileges n'est +pas un module MPM. Il travaille au sein d'un modèle de +traitement pour définir les privilèges et les User/Group pour chaque +requête dans un même processus. Il n'est donc pas compatible avec +les MPM threadés, et refusera de s'exécuter en cas d'utilisation d'un de +ces derniers.

+ +

mod_privileges traite des problèmes de sécurité +similaires à ceux de suexec ; mais à la +différence de ce dernier, il ne s'applique pas seulement aux programmes +CGI, mais à l'ensemble du cycle de traitement d'une requête, y compris +les applications in-process et les sous-processus. Il convient +particulièrement à l'exécution des applications PHP sous +mod_php, qui est lui-même incompatible avec les modules +MPM threadés. Il est également bien adapté aux autres applications de type +script in-process comme mod_perl, +mod_python, et mod_ruby, ainsi qu'aux +applications en langage C telles que les modules Apache pour lesquels la +séparation des privilèges constitue un problème.

+ +
+ +
top
+
+

Considérations à propos de sécurité

+ +

mod_privileges introduit de nouveaux problèmes de +sécurité dans les situations où du code non sûr peut +s'exécuter à l'intérieur du processus du serveur web. +Ceci s'applique aux modules non sûrs, et aux scripts s'exécutant sous +des modules comme mod_php ou mod_perl. Les scripts s'exécutant en +externe (comme par exemple les scripts CGI ou ceux s'exécutant sur un +serveur d'applications derrière mod_proxy ou mod_jk) ne sont pas +concernés.

+ +

Les principaux problèmes de sécurité que l'on rencontre avec +mod_privileges sont :

+ + +
  • L'exécution sous un utilisateur système pose les mêmes problèmes +de sécurité que mod_suexec, et pratiquement les mêmes que cgiwrap et +suphp.
  • +
  • Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par mod_privileges, +pourrait élever ses privilèges à tout niveau +accessible au processus httpd dans tout serveur virtuel. Ceci introduit +de nouveaux risques si (et seulement si) mod_privileges est compilé avec +l'option BIG_SECURITY_HOLE.
  • +
  • Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par mod_privileges, +pourrait élever ses privilèges pour s'attribuer +l'identifiant utilisateur d'un autre utilisateur (et/ou groupe) +système.
  • +
+ +

La directive PrivilegesMode vous permet de +sélectionner soit le mode FAST, soit le mode +SECURE. Vous pouvez panacher les modes en utilisant par +exemple le mode FAST pour les utilisateurs de confiance et +les chemins contenant du code entièrement audité, tout en imposant le +mode SECURE où un utilisateur non sûr a la possibilité +d'introduire du code.

+

Avant de décrire les modes, il nous faut présenter les cas +d'utilisation de la cible : "Benign" ou "Hostile". Dans une situation +"Benign", vous voulez séparer les utilisateurs pour leur confort, et les +protéger, ainsi que le serveur, contre les risques induits par les +erreurs involontaires. Dans une situation "Hostile" - par exemple +l'hébergement d'un site commercial - il se peut que des utilisateurs +attaquent délibérément le serveur ou s'attaquent entre eux.

+
+
Mode FAST
+
En mode FAST, les requêtes sont traitées "in-process" +avec les uid/gid et privilèges sélectionnés, si bien que la +surcharge est négligeable. Ceci convient aux situations "Benign", mais +n'est pas sécurisé contre un attaquant augmentant ses privilèges avec un +module ou script "in-process".
+
Mode SECURE
+
Une requête en mode SECURE génère un sous-processus qui +supprime les privilèges. Ce comportement est très similaire à +l'exécution d'un programme CGI avec suexec, mais il reste valable tout +au long du cycle de traitement de la requête, avec en plus l'avantage +d'un contrôle précis des privilèges.
+
+

Vous pouvez sélectionner différents +PrivilegesModes pour chaque serveur virtuel, et +même dans un contexte de répertoire à l'intérieur d'un serveur virtuel. +Le mode FAST convient lorsque les utilisateurs sont sûrs +et/ou n'ont pas le privilège de charger du code "in-process". Le mode +SECURE convient dans les cas où du code non sûr peut +s'exécuter "in-process". Cependant, même en mode SECURE, il +n'y a pas de protection contre un utilisateur malveillant qui a la +possibilité d'introduire du code supportant les privilèges avant le +début du cycle de traitement de la requête.

+ +
+
top
+

Directive DTracePrivileges

+ + + + + + + + +
Description:Détermine si les privilèges requis par dtrace sont +activés.
Syntaxe:DTracePrivileges On|Off
Défaut:DTracePrivileges Off
Contexte:configuration du serveur
Statut:Expérimental
Module:mod_privileges
Compatibilité:>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé).
+

Cette directive qui s'applique à l'ensemble du serveur permet de + déterminer si Apache s'exécutera avec les privilèges requis pour exécuter dtrace. + Notez que la définition DTracePrivileges On n'activera + pas à elle-seule DTrace, mais que DTracePrivileges Off + l'empêchera de fonctionner.

+ +
+
top
+

Directive PrivilegesMode

+ + + + + + + + +
Description:Fait un compromis entre d'une part l'efficacité et la +vitesse de traitement et d'autre part la sécurité à l'encontre des codes +malicieux supportant les privilèges.
Syntaxe:PrivilegesMode FAST|SECURE|SELECTIVE
Défaut:PrivilegesMode FAST
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec des +modules MPMs non threadés (comme prefork ou un module +personnalisé).

Cette directive permet de faire un compromis entre les +performances et la sécurité à l'encontre des codes malicieux supportant +les privilèges. En mode SECURE, chaque requête est traitée +dans un sous-processus sécurisé, ce qui induit une dégradation sensible +des performances. En mode FAST, le serveur n'est pas protégé +contre l'augmentation de privilège comme décrit plus haut.

+

Cette directive est sensiblement différente selon qu'elle se trouve +dans une section <Directory> (ou Location/Files/If) +ou au niveau global ou dans un <VirtualHost>.

+

Au niveau global, elle définit un comportement par défaut dont +hériteront les serveurs virtuels. Dans un serveur virtuel, les modes +FAST ou SECURE agissent sur l'ensemble de la requête HTTP, et toute +définition de ces modes dans une section <Directory> +sera ignorée. Le pseudo-mode SELECTIVE confie le choix +du mode FAST ou SECURE aux directives contenues dans une +section<Directory>.

+

Dans une section <Directory>, elle ne s'applique +que lorsque le mode SELECTIVE a été défini pour le serveur virtuel. +Seuls FAST ou SECURE peuvent être définis dans ce contexte (SELECTIVE +n'aurait pas de sens).

+

Avertissement

+ Lorsque le mode SELECTIVE a été défini pour un serveur virtuel, + l'activation des privilèges doit être reportée après + la détermination, par la phase de comparaison du traitement de + la requête, du contexte <Directory> qui + s'applique à la requête. Ceci peut donner à un attaquant + l'opportunité d'introduire du code via une directive RewriteMap s'exécutant au + niveau global ou d'un serveur virtuel avant que les + privilèges n'aient été supprimés et l'uid/gid défini. +
+ +
+
top
+

Directive VHostCGIMode

+ + + + + + + + +
Description:Détermine si le serveur virtuel peut exécuter des +sous-processus, et définit les privilèges disponibles pour ces +dernier.
Syntaxe:VHostCGIMode On|Off|Secure
Défaut:VHostCGIMode On
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé).
+

Détermine si le serveur virtuel est autorisé à exécuter fork et + exec, et définit les privilèges requis pour exécuter des sous-processus. Si cette + directive est définie à Off le serveur virtuel ne + disposera d'aucun privilège et ne pourra exécuter ni des programmes + ou scripts CGI classiques via le module traditionnel + mod_cgi, ni des programmes externes similaires tels + que ceux créés via le module mod_ext_filter ou les + programmes de réécriture externes utilisés par la directive + RewriteMap. Notez que + ceci n'empêche pas l'exécution de programmes CGI via d'autres + processus et sous d'autres modèles de sécurité comme mod_fcgid, ce qui est la + solution recommandée sous Solaris.

+

Si cette directive est définie à On ou + Secure, le serveur virtuel pourra exécuter les scripts et + programmes externes cités ci-dessus. Définir la directive + VHostCGIMode à Secure a pour effet + supplémentaire de n'accorder aucun privilège aux sous-processus, + comme décrit dans la directive + VHostSecure.

+ +
+
top
+

Directive VHostCGIPrivs

+ + + + + + + + +
Description:Assigne des privilèges au choix aux sous-processus créés +par un serveur virtuel.
Syntaxe:VHostPrivs [+-]?nom-privilège [[+-]?nom-privilège] ...
Défaut:Aucun
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé) et lorsque mod_privileges est construit +avec l'option de compilation +BIG_SECURITY_HOLE.
+

La directive VHostCGIPrivs permet + d'assigner des privilèges au choix aux sous-processus créés par un serveur + virtuel, comme décrit dans la directive + VHostCGIMode. Chaque + nom-privilège correspond à un privilège Solaris tel que + file_setid ou sys_nfs.

+ +

nom-privilège peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + nom-privilège est spécifié sans + ni -, tous les autres + privilèges préalablement assignés au serveur virtuel seront refusés. + Cette directive permet de construire aisément votre propre jeu de + privilèges en annulant tout réglage par défaut.

+ +

Sécurité

+

L'utilisation de cette directive peut ouvrir d'immenses trous de + sécurité dans les sous-processus Apache, jusqu'à leur exécution avec les + droits de root. Ne l'utilisez que si vous êtes absolument sûr de + comprendre ce que vous faites !

+ +
+
top
+

Directive VHostGroup

+ + + + + + + + +
Description:Définit l'identifiant du groupe sous lequel s'exécute un +serveur virtuel.
Syntaxe:VHostGroup identifiant-groupe-unix
Défaut:Hérite de l'identifiant du groupe spécifié par la directive +Group
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé).
+

La directive VHostGroup permet de définir + l'identifiant du groupe unix sous lequel le serveur va traiter les + requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant + du groupe est défini avant le traitement de la requête, puis + restauré à sa valeur de départ via les Privilèges + Solaris. Comme la définition + s'applique au processus, cette directive est incompatible + avec les modules MPM threadés.

+

Unix-group peut être :

+
+
Un nom de groupe
+
Fait référence au groupe donné par son nom.
+ +
# suivi d'un numéro de groupe.
+
Fait référence au groupe donné par son numéro.
+
+ +

Sécurité

+

Cette directive ne peut pas être utilisée pour exécuter Apache en + tant que root ! Elle est tout de même susceptible de poser des + problèmes de sécurité similaires à ceux décrits dans la + documentation de suexec.

+ +

Voir aussi

+ +
+
top
+

Directive VHostPrivs

+ + + + + + + + +
Description:Assigne des privilèges à un serveur virtuel.
Syntaxe:VHostPrivs [+-]?nom-privilège [[+-]?nom-privilège] ...
Défaut:Aucun
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé) et lorsque mod_privileges est construit +avec l'option de compilation +BIG_SECURITY_HOLE.
+

La directive VHostPrivs permet d'assigner + des privilèges au choix à un serveur virtuel. Chaque + nom-privilège correspond à un privilège Solaris tel que + file_setid ou sys_nfs.

+ +

nom-privilège peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + nom-privilège est spécifié sans + ni -, tous les autres + privilèges préalablement assignés au serveur virtuel seront refusés. + Cette directive permet de construire aisément votre propre jeu de + privilèges en annulant tout réglage par défaut.

+ +

Sécurité

+

L'utilisation de cette directive peut ouvrir d'immenses trous de + sécurité dans Apache, jusqu'au traitement de requêtes avec les + droits de root. Ne l'utilisez que si vous êtes absolument sûr de + comprendre ce que vous faites !

+ +
+
top
+

Directive VHostSecure

+ + + + + + + + +
Description:Détermine si le serveur s'exécute avec une sécurité avancée +pour les serveurs virtuels.
Syntaxe:VHostSecure On|Off
Défaut:VHostSecure On
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé).
+

Détermine si les serveurs virtuels traitent les requêtes avec une + sécurité avancée en supprimant les Privilèges rarement requis par un serveur web, mais disponibles + par défaut pour un utilisateur Unix standard, et donc susceptibles + d'être demandés par des modules et des applications. Il est + recommandé de conserver la définition par défaut (On), sauf si elle + empêche une application de fonctionner. Comme la définition + s'applique au processus, cette directive est incompatible + avec les modules MPM threadés.

+

Note

+

Le fait que la directive VHostSecure + empêche une application de fonctionner peut constituer un signal + d'avertissement indiquant que la sécurité de l'application doit être + revue.

+ +
+
top
+

Directive VHostUser

+ + + + + + + + +
Description:Définit l'identifiant utilisateur sous lequel s'exécute un +serveur virtuel.
Syntaxe:VHostUser identifiant-utilisateur-unix
Défaut:Hérite de l'identifiant utilisateur spécifié par la directive +User
Contexte:serveur virtuel
Statut:Expérimental
Module:mod_privileges
Compatibilité:Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé).
+

La directive VHostUser permet de définir + l'identifiant utilisateur unix sous lequel le serveur va traiter les + requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant + utilisateur est défini avant le traitement de la requête, puis + restauré à sa valeur de départ via les Privilèges + Solaris. Comme la définition + s'applique au processus, cette directive est incompatible + avec les modules MPM threadés.

+

identifiant-utilisateur-unix peut être :

+
+
Un nom d'utilisateur
+
Fait référence à l'utilisateur donné par son nom.
+ +
# suivi d'un numéro d'utilisateur.
+
Fait référence à l'utilisateur donné par son numéro.
+
+ +

Sécurité

+

Cette directive ne peut pas être utilisée pour exécuter Apache en + tant que root ! Elle est tout de même susceptible de poser des + problèmes de sécurité similaires à ceux décrits dans la + documentation de suexec.

+ +

Voir aussi

+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_privileges.xml.fr b/docs/manual/mod/mod_privileges.xml.fr new file mode 100644 index 0000000000..2a19cae6ad --- /dev/null +++ b/docs/manual/mod/mod_privileges.xml.fr @@ -0,0 +1,437 @@ + + + + + + + + + + + +mod_privileges +Support des privilèges de Solaris et de l'exécution des +serveurs virtuels sous différents identifiants +utilisateurs. +Experimental +mod_privileges.c +privileges_module +Disponible depuis la version 2.3 d'Apache sur les +plates-formes Solaris 10 et OpenSolaris + + +

Ce module permet l'exécution de différents serveurs virtuels sous +différents identifiants Unix User et Group, +et avec différents Privilèges +Solaris. En particulier, il apporte au problème de +séparation des privilèges entre les différents serveurs virtuels la +solution que devait apporter le module MPM abandonné perchild. Il +apporte aussi d'autres améliorations en matière de sécurité.

+ +

À la différence de perchild, mod_privileges n'est +pas un module MPM. Il travaille au sein d'un modèle de +traitement pour définir les privilèges et les User/Group pour chaque +requête dans un même processus. Il n'est donc pas compatible avec +les MPM threadés, et refusera de s'exécuter en cas d'utilisation d'un de +ces derniers.

+ +

mod_privileges traite des problèmes de sécurité +similaires à ceux de suexec ; mais à la +différence de ce dernier, il ne s'applique pas seulement aux programmes +CGI, mais à l'ensemble du cycle de traitement d'une requête, y compris +les applications in-process et les sous-processus. Il convient +particulièrement à l'exécution des applications PHP sous +mod_php, qui est lui-même incompatible avec les modules +MPM threadés. Il est également bien adapté aux autres applications de type +script in-process comme mod_perl, +mod_python, et mod_ruby, ainsi qu'aux +applications en langage C telles que les modules Apache pour lesquels la +séparation des privilèges constitue un problème.

+ +
+ +
Considérations à propos de sécurité + +

mod_privileges introduit de nouveaux problèmes de +sécurité dans les situations où du code non sûr peut +s'exécuter à l'intérieur du processus du serveur web. +Ceci s'applique aux modules non sûrs, et aux scripts s'exécutant sous +des modules comme mod_php ou mod_perl. Les scripts s'exécutant en +externe (comme par exemple les scripts CGI ou ceux s'exécutant sur un +serveur d'applications derrière mod_proxy ou mod_jk) ne sont pas +concernés.

+ +

Les principaux problèmes de sécurité que l'on rencontre avec +mod_privileges sont :

+ + +
  • L'exécution sous un utilisateur système pose les mêmes problèmes +de sécurité que mod_suexec, et pratiquement les mêmes que cgiwrap et +suphp.
  • +
  • Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par mod_privileges, +pourrait élever ses privilèges à tout niveau +accessible au processus httpd dans tout serveur virtuel. Ceci introduit +de nouveaux risques si (et seulement si) mod_privileges est compilé avec +l'option BIG_SECURITY_HOLE.
  • +
  • Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes +utilisés par mod_privileges, +pourrait élever ses privilèges pour s'attribuer +l'identifiant utilisateur d'un autre utilisateur (et/ou groupe) +système.
  • +
+ +

La directive PrivilegesMode vous permet de +sélectionner soit le mode FAST, soit le mode +SECURE. Vous pouvez panacher les modes en utilisant par +exemple le mode FAST pour les utilisateurs de confiance et +les chemins contenant du code entièrement audité, tout en imposant le +mode SECURE où un utilisateur non sûr a la possibilité +d'introduire du code.

+

Avant de décrire les modes, il nous faut présenter les cas +d'utilisation de la cible : "Benign" ou "Hostile". Dans une situation +"Benign", vous voulez séparer les utilisateurs pour leur confort, et les +protéger, ainsi que le serveur, contre les risques induits par les +erreurs involontaires. Dans une situation "Hostile" - par exemple +l'hébergement d'un site commercial - il se peut que des utilisateurs +attaquent délibérément le serveur ou s'attaquent entre eux.

+
+
Mode FAST
+
En mode FAST, les requêtes sont traitées "in-process" +avec les uid/gid et privilèges sélectionnés, si bien que la +surcharge est négligeable. Ceci convient aux situations "Benign", mais +n'est pas sécurisé contre un attaquant augmentant ses privilèges avec un +module ou script "in-process".
+
Mode SECURE
+
Une requête en mode SECURE génère un sous-processus qui +supprime les privilèges. Ce comportement est très similaire à +l'exécution d'un programme CGI avec suexec, mais il reste valable tout +au long du cycle de traitement de la requête, avec en plus l'avantage +d'un contrôle précis des privilèges.
+
+

Vous pouvez sélectionner différents +PrivilegesModes pour chaque serveur virtuel, et +même dans un contexte de répertoire à l'intérieur d'un serveur virtuel. +Le mode FAST convient lorsque les utilisateurs sont sûrs +et/ou n'ont pas le privilège de charger du code "in-process". Le mode +SECURE convient dans les cas où du code non sûr peut +s'exécuter "in-process". Cependant, même en mode SECURE, il +n'y a pas de protection contre un utilisateur malveillant qui a la +possibilité d'introduire du code supportant les privilèges avant le +début du cycle de traitement de la requête.

+ +
+ +PrivilegesMode +Fait un compromis entre d'une part l'efficacité et la +vitesse de traitement et d'autre part la sécurité à l'encontre des codes +malicieux supportant les privilèges. +PrivilegesMode FAST|SECURE|SELECTIVE +PrivilegesMode FAST + + server config + virtual host + directory + +Disponible sous Solaris 10 et OpenSolaris avec des +modules MPMs non threadés (comme prefork ou un module +personnalisé). +

Cette directive permet de faire un compromis entre les +performances et la sécurité à l'encontre des codes malicieux supportant +les privilèges. En mode SECURE, chaque requête est traitée +dans un sous-processus sécurisé, ce qui induit une dégradation sensible +des performances. En mode FAST, le serveur n'est pas protégé +contre l'augmentation de privilège comme décrit plus haut.

+

Cette directive est sensiblement différente selon qu'elle se trouve +dans une section <Directory> (ou Location/Files/If) +ou au niveau global ou dans un <VirtualHost>.

+

Au niveau global, elle définit un comportement par défaut dont +hériteront les serveurs virtuels. Dans un serveur virtuel, les modes +FAST ou SECURE agissent sur l'ensemble de la requête HTTP, et toute +définition de ces modes dans une section <Directory> +sera ignorée. Le pseudo-mode SELECTIVE confie le choix +du mode FAST ou SECURE aux directives contenues dans une +section<Directory>.

+

Dans une section <Directory>, elle ne s'applique +que lorsque le mode SELECTIVE a été défini pour le serveur virtuel. +Seuls FAST ou SECURE peuvent être définis dans ce contexte (SELECTIVE +n'aurait pas de sens).

+Avertissement + Lorsque le mode SELECTIVE a été défini pour un serveur virtuel, + l'activation des privilèges doit être reportée après + la détermination, par la phase de comparaison du traitement de + la requête, du contexte <Directory> qui + s'applique à la requête. Ceci peut donner à un attaquant + l'opportunité d'introduire du code via une directive RewriteMap s'exécutant au + niveau global ou d'un serveur virtuel avant que les + privilèges n'aient été supprimés et l'uid/gid défini. + +
+
+ + +VHostUser +Définit l'identifiant utilisateur sous lequel s'exécute un +serveur virtuel. +VHostUser identifiant-utilisateur-unix +Hérite de l'identifiant utilisateur spécifié par la directive +User +virtual host +Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé). + + +

La directive VHostUser permet de définir + l'identifiant utilisateur unix sous lequel le serveur va traiter les + requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant + utilisateur est défini avant le traitement de la requête, puis + restauré à sa valeur de départ via les Privilèges + Solaris. Comme la définition + s'applique au processus, cette directive est incompatible + avec les modules MPM threadés.

+

identifiant-utilisateur-unix peut être :

+
+
Un nom d'utilisateur
+
Fait référence à l'utilisateur donné par son nom.
+ +
# suivi d'un numéro d'utilisateur.
+
Fait référence à l'utilisateur donné par son numéro.
+
+ + Sécurité +

Cette directive ne peut pas être utilisée pour exécuter Apache en + tant que root ! Elle est tout de même susceptible de poser des + problèmes de sécurité similaires à ceux décrits dans la + documentation de suexec.

+
+User +SuexecUserGroup +
+ + +VHostGroup +Définit l'identifiant du groupe sous lequel s'exécute un +serveur virtuel. +VHostGroup identifiant-groupe-unix +Hérite de l'identifiant du groupe spécifié par la directive +Group +virtual host +Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé). + + +

La directive VHostGroup permet de définir + l'identifiant du groupe unix sous lequel le serveur va traiter les + requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant + du groupe est défini avant le traitement de la requête, puis + restauré à sa valeur de départ via les Privilèges + Solaris. Comme la définition + s'applique au processus, cette directive est incompatible + avec les modules MPM threadés.

+

Unix-group peut être :

+
+
Un nom de groupe
+
Fait référence au groupe donné par son nom.
+ +
# suivi d'un numéro de groupe.
+
Fait référence au groupe donné par son numéro.
+
+ + Sécurité +

Cette directive ne peut pas être utilisée pour exécuter Apache en + tant que root ! Elle est tout de même susceptible de poser des + problèmes de sécurité similaires à ceux décrits dans la + documentation de suexec.

+
+Group +SuexecUserGroup +
+ + +VHostSecure +Détermine si le serveur s'exécute avec une sécurité avancée +pour les serveurs virtuels. +VHostSecure On|Off +VHostSecure On +virtual host +Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé). + + +

Détermine si les serveurs virtuels traitent les requêtes avec une + sécurité avancée en supprimant les Privilèges rarement requis par un serveur web, mais disponibles + par défaut pour un utilisateur Unix standard, et donc susceptibles + d'être demandés par des modules et des applications. Il est + recommandé de conserver la définition par défaut (On), sauf si elle + empêche une application de fonctionner. Comme la définition + s'applique au processus, cette directive est incompatible + avec les modules MPM threadés.

+ Note +

Le fait que la directive VHostSecure + empêche une application de fonctionner peut constituer un signal + d'avertissement indiquant que la sécurité de l'application doit être + revue.

+
+
+ + +VHostCGIMode +Détermine si le serveur virtuel peut exécuter des +sous-processus, et définit les privilèges disponibles pour ces +dernier. +VHostCGIMode On|Off|Secure +VHostCGIMode On +virtual host +Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé). + + +

Détermine si le serveur virtuel est autorisé à exécuter fork et + exec, et définit les privilèges requis pour exécuter des sous-processus. Si cette + directive est définie à Off le serveur virtuel ne + disposera d'aucun privilège et ne pourra exécuter ni des programmes + ou scripts CGI classiques via le module traditionnel + mod_cgi, ni des programmes externes similaires tels + que ceux créés via le module mod_ext_filter ou les + programmes de réécriture externes utilisés par la directive + RewriteMap. Notez que + ceci n'empêche pas l'exécution de programmes CGI via d'autres + processus et sous d'autres modèles de sécurité comme mod_fcgid, ce qui est la + solution recommandée sous Solaris.

+

Si cette directive est définie à On ou + Secure, le serveur virtuel pourra exécuter les scripts et + programmes externes cités ci-dessus. Définir la directive + VHostCGIMode à Secure a pour effet + supplémentaire de n'accorder aucun privilège aux sous-processus, + comme décrit dans la directive + VHostSecure.

+
+
+ + +DTracePrivileges +Détermine si les privilèges requis par dtrace sont +activés. +DTracePrivileges On|Off +DTracePrivileges Off +server config +>Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé). + + +

Cette directive qui s'applique à l'ensemble du serveur permet de + déterminer si Apache s'exécutera avec les privilèges requis pour exécuter dtrace. + Notez que la définition DTracePrivileges On n'activera + pas à elle-seule DTrace, mais que DTracePrivileges Off + l'empêchera de fonctionner.

+
+
+ + +VHostPrivs +Assigne des privilèges à un serveur virtuel. +VHostPrivs [+-]?nom-privilège [[+-]?nom-privilège] ... +Aucun +virtual host +Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé) et lorsque mod_privileges est construit +avec l'option de compilation +BIG_SECURITY_HOLE. + + +

La directive VHostPrivs permet d'assigner + des privilèges au choix à un serveur virtuel. Chaque + nom-privilège correspond à un privilège Solaris tel que + file_setid ou sys_nfs.

+ +

nom-privilège peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + nom-privilège est spécifié sans + ni -, tous les autres + privilèges préalablement assignés au serveur virtuel seront refusés. + Cette directive permet de construire aisément votre propre jeu de + privilèges en annulant tout réglage par défaut.

+ + Sécurité +

L'utilisation de cette directive peut ouvrir d'immenses trous de + sécurité dans Apache, jusqu'au traitement de requêtes avec les + droits de root. Ne l'utilisez que si vous êtes absolument sûr de + comprendre ce que vous faites !

+
+
+ + +VHostCGIPrivs +Assigne des privilèges au choix aux sous-processus créés +par un serveur virtuel. +VHostPrivs [+-]?nom-privilège [[+-]?nom-privilège] ... +Aucun +virtual host +Disponible sous Solaris 10 et OpenSolaris avec les +modules MPM non-threadés (prefork ou MPM +personnalisé) et lorsque mod_privileges est construit +avec l'option de compilation +BIG_SECURITY_HOLE. + + +

La directive VHostCGIPrivs permet + d'assigner des privilèges au choix aux sous-processus créés par un serveur + virtuel, comme décrit dans la directive + VHostCGIMode. Chaque + nom-privilège correspond à un privilège Solaris tel que + file_setid ou sys_nfs.

+ +

nom-privilège peut être éventuellement préfixé par + + ou -, ce qui va respectivement accorder ou refuser le privilège. Si + nom-privilège est spécifié sans + ni -, tous les autres + privilèges préalablement assignés au serveur virtuel seront refusés. + Cette directive permet de construire aisément votre propre jeu de + privilèges en annulant tout réglage par défaut.

+ + Sécurité +

L'utilisation de cette directive peut ouvrir d'immenses trous de + sécurité dans les sous-processus Apache, jusqu'à leur exécution avec les + droits de root. Ne l'utilisez que si vous êtes absolument sûr de + comprendre ce que vous faites !

+
+
+ + + +
diff --git a/docs/manual/mod/mod_privileges.xml.meta b/docs/manual/mod/mod_privileges.xml.meta index 334dc46d7b..40b28fd41a 100644 --- a/docs/manual/mod/mod_privileges.xml.meta +++ b/docs/manual/mod/mod_privileges.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_proxy_ajp.html b/docs/manual/mod/mod_proxy_ajp.html index 676c871467..2cebf6f27a 100644 --- a/docs/manual/mod/mod_proxy_ajp.html +++ b/docs/manual/mod/mod_proxy_ajp.html @@ -4,6 +4,10 @@ URI: mod_proxy_ajp.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_proxy_ajp.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_proxy_ajp.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_ajp.html.fr b/docs/manual/mod/mod_proxy_ajp.html.fr new file mode 100644 index 0000000000..a75332b922 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.html.fr @@ -0,0 +1,676 @@ + + + + + +mod_proxy_ajp - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_ajp

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + +
Description:Module de support AJP pour +mod_proxy
Statut:Extension
Identificateur de Module:proxy_ajp_module
Fichier Source:mod_proxy_ajp.c
+

Sommaire

+ +

Ce module nécessite le chargement de mod_proxy. Il fournit le support du Protocole Apache + JServ version 1.3 (nommé dans la suite de ce document + AJP13).

+ +

Pour être en mesure d'exploiter le protocole AJP13, + il est donc nécessaire de charger les modules + mod_proxy et mod_proxy_ajp.

+ +

Avertissement

+

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

+
+
+ +
top
+
+

Utilisation

+

Ce module permet de mandater en inverse un serveur d'application + d'arrière-plan (comme Apache Tomcat) qui utilise le protocole AJP13. + Son utilisation est similaire à celle d'un mandataire inverse HTTP, + mais s'appuie sur le prefixe ajp:// :

+ +

Mandataire inverse simple

ProxyPass "/app" "ajp://backend.example.com:8009/app"
+
+ +

On peut aussi configurer un répartiteur de charge :

+

Mandataire inverse avec répartiteur de charge

<Proxy balancer://cluster>
+    BalancerMember ajp://app1.example.com:8009 loadfactor=1
+    BalancerMember ajp://app2.example.com:8009 loadfactor=2
+    ProxySet lbmethod=bytraffic
+</Proxy>
+ProxyPass "/app" "balancer://cluster/app"
+
+ +

Notez qu'en général, la directive ProxyPassReverse n'est pas + nécessaire. La requête AJP inclut l'en-tête host original fourni + au mandataire, et le serveur d'application est sensé générer des + en-têtes auto-référençants relatifs à cet hôte ; aucune réécriture + n'est donc nécessaire.

+ +

La situation la plus courante dans laquelle la directive ProxyPassReverse est nécessaire se + rencontre lorsque le chemin de l'URL au niveau du mandataire est + différente de celle du serveur d'arrière-plan. Dans ce cas, un + en-tête redirect peut être réécrit relativement à l'URL de l'hôte + original (et non du serveur d'arrière-plan ajp:// URL) + ; par exemple :

+

Réécriture d'un chemin mandaté

ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo"
+ProxyPassReverse "/apps/foo" "http://www.example.com/foo"
+
+

Il est cependant préférable en général de déployer l'application + sur le serveur d'arrière-plan avec le même chemin que sur le + mandataire. +

+
top
+
+

Variables d'environnement

+

Les variables d'environnement dont le nom possède le préfixe + AJP_ sont transmises au serveur original en tant + qu'attributs de requête AJP (le préfixe AJP_ étant supprimé du nom + de la clé).

+
top
+
+

Vue d'ensemble du protocole

+

Le protocole AJP13 est orienté paquet. Le format + binaire a été préféré, probablement pour des raisons de + performances, au format texte pourtant plus lisible. Le serveur web + communique avec le conteneur de servlets sur une connexion TCP. Pour + diminuer la charge induite par le processus de création de socket, + le serveur web va tenter d'utiliser des connexions TCP persistantes + avec le conteneur de servlets, et de réutiliser les connexions + pendant plusieurs cycles requêtes/réponse.

+

Lorsqu'une connexion a été assignée à une requête particulière, + elle ne sera utilisée pour aucune autre jusqu'à ce que le cycle de + traitement de la requête se soit terminé. En d'autres termes, il n'y + a pas de multiplexage des requêtes sur une connexion. Ceci se + traduit par un code beaucoup plus simple à chaque extrémité de la + connexion, un nombre plus important de connexions étant cependant + ouvertes en même temps.

+

Lorsque le serveur web a ouvert une connexion vers le conteneur + de servlets, celle-ci peut se trouver dans l'un des états suivants + :

+
    +
  • Idle
    Aucune requête n'est traitée sur cette + connexion.
  • +
  • Assigned
    La connexion fait l'objet d'un traitement de + requête.
  • +
+

Lorsqu'une connexion est assignée au traitement d'une requête + particulière, les informations de base de cette dernière (comme les + en-têtes HTTP, etc...) sont envoyées sur la connexion sous une forme + très condensée (par exemple les chaînes courantes sont codées sous + forme d'entiers). Vous trouverez des détails sur ce format plus + loin dans la structure des paquets de requête. Si la requête possède + un corps (content-length > 0), il est envoyé dans un + paquet séparé immédiatement après.

+

A ce moment, le conteneur est probablement prêt à traiter la + requête. Au cours de ce traitement, il peut renvoyer les messages + suivants au serveur web :

+
    +
  • SEND_HEADERS
    Renvoie un jeu d'en-têtes au navigateur.
  • +
  • SEND_BODY_CHUNK
    Renvoie un tronçon de corps de requête au + navigateur. +
  • +
  • GET_BODY_CHUNK
    Reçoit un autre tronçon de données de la + requête si elle n'a pas encore été transmise intégralement. Ce type + de transmission est nécessaire car les paquets possèdent une taille + maximale fixe, et des quantités quelconques de données peuvent être + contenues dans le corps de la requête (pour un chargement de + fichier, par exemple). Notez que cela n'a rien à voir avec le + transfert HTTP fractionné.
  • +
  • END_RESPONSE
    Termine le cycle du traitement de la + requête.
  • +
+

Chaque message est associé à un paquet de données formaté + différemment. Voir plus loin les structures des paquets de réponses + pour plus de détails.

+
top
+
+

Structure de base des paquets

+

Ce protocole hérite en partie de XDR, mais il diffère sur de + nombreux points (pas d'alignement sur 4 bits, par exemple).

+

AJP13 utilise les octets selon leur ordre d'arrivée par le réseau + pour tous les types de données.

+

Le protocole comporte quatre types de données : octets, booléens, + entiers et chaînes de caractères.

+
+
Octet
Un seul octet.
+
Booléen
+
Un seul octet, 1 = vrai, 0 = faux. + L'utilisation d'autres valeurs non nulles (dans le style C) peut + fonctionner dans certains cas, mais pas dans certains autres..
+
Entier
+
Un nombre compris entre 0 et 2^16 (32768), stocké + sur 2 octets en débutant par l'octet de poids forts.
+
Chaîne
+
Une chaîne de taille variable (longueur limitée à 2^16). Elle + est codée comme suit : les deux premiers octets représentent la + longueur de la chaîne, les octets suivants constituent la chaîne + proprement dite (y compris le '\0' final). Notez que la longueur + encodée dans les deux premiers octets ne prend pas en compte le + '\0' final, de la même manière que strlen. Cela peut + prêter à confusion du point de vue de Java qui est surchargé de + déclarations d'autoincrémentation étranges destinées à traiter + ces terminateurs. Je suppose que le but dans lequel cela a + été conçu ainsi était de permettre au code C d'être plus efficace + lors de la lecture de chaînes en provenance du conteneur de + servlets -- avec le caractère \0 final, le code C peut transmettre + des références dans un seul tampon, sans avoir à effectuer de + copie. En l'absence du caractère \0 final, le code C doit + effectuer une copie afin de pouvoir tenir compte de sa notion de + chaîne.
+
+ +

Taille du paquet

+

Selon la majorité du code, la taille maximale du paquet est de + 8 * 1024 bytes (8K). La taille réelle du paquet est + encodée dans l'en-tête.

+ +

En-têtes de paquet

+

Les paquets envoyés par le serveur vers le conteneur commencent + par 0x1234. Les paquets envoyés par le conteneur vers + le serveur commencent par AB (c'est à dire le code + ASCII de A suivi du code ASCII de B). Ensuite, vient un entier (codé + comme ci-dessus) représentant la longueur des données transmises. + Bien que ceci puisse faire croire que la taille maximale des données + est de 2^16, le code définit en fait ce maximum à 8K.

+ + + + + + + + + + + + + + + + + + + + +
Format du paquet (Serveur->Conteneur)
Octet01234...(n+3)
Contenu0x120x34Taille des données (n)Data
+ + + + + + + + + + + + + + + + + + + + +
Format du paquet + (Conteneur->Serveur)
Octet01234...(n+3)
ContenuABTaille des données (n)Data
+

Pour la plupart des paquets, le premier octet de la charge utile + encode le type de message, à l'exception des paquets contenant un + corps de requête envoyés du serveur vers le conteneur -- ils + comportent un en-tête standard (0x1234 suivi de la taille + du paquet), mais celui-ci n'est suivi d'aucun préfixe.

+

Le serveur web peut envoyer les messages suivants au conteneur + de servlets :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeType de paquetSignification
2Fait suivre la requêteDébute le cycle de traitement de la requête avec les données + qui suivent.
7ArrêtLe serveur web demande au conteneur de s'arrêter.
8PingLe serveur web demande au conteneur de prendre le contrôle + (phase de connexion sécurisée).
10CPingLe serveur web demande au conteneur de répondre rapidement + avec un CPong. +
noneDonnéesTaille (2 octets) et les données correspondantes.
+

À des fins de sécurité, le conteneur n'effectuera réellement son + Arrêt que si la demande provient de la machine par + laquelle il est hébergé.

+

Le premier paquet Données est envoyé immédiatement + après le paquet Faire suivre la requête par le serveur + web.

+

Le conteneur de servlets peut envoyer les types de messages + suivants au serveur web :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeType de paquetSignification
3Envoi d'un tronçon de corpsEnvoi d'un tronçon de corps depuis le conteneur de servlets + vers le serveur web (et probablement vers le navigateur).
4Envoie les en-têtesEnvoi des en-têtes de réponse depuis le conteneur de + servlets vers le serveur web (et probablement vers le + navigateur).
5Fin de la réponseMarque la fin de la réponse (et par conséquent du cycle de + traitement de la requête). +
6Réception du tronçon de corps suivantRéception de la suite des données de la requête si elles + n'ont pas encore été entièrement transmises.
9Réponse CPongLa réponse à une requête CPing
+

Chacun des messages ci-dessus possède une structure interne + différente dont vous trouverez les détails ci-dessous.

+ +
top
+
+

Structure des paquets de +requête

+

Pour les messages de type Faire suivre la requête depuis + le serveur vers le conteneur :

+
AJP13_FORWARD_REQUEST :=
+    prefix_code      (byte) 0x02 = JK_AJP13_FORWARD_REQUEST
+    method           (byte)
+    protocol         (string)
+    req_uri          (string)
+    remote_addr      (string)
+    remote_host      (string)
+    server_name      (string)
+    server_port      (integer)
+    is_ssl           (boolean)
+    num_headers      (integer)
+    request_headers *(req_header_name req_header_value)
+    attributes      *(attribut_name attribute_value)
+    request_terminator (byte) OxFF
+

Les request_headers possèdent la structure suivante + : +

req_header_name :=
+    sc_req_header_name | (string)  [voir ci-dessous pour la manière dont
+    ceci est interprété]
+
+sc_req_header_name := 0xA0xx (integer)
+
+req_header_value := (string)
+

Les attributes sont optionnels et possèdent la + structure suivante :

+
attribute_name := sc_a_name | (sc_a_req_attribute string)
+
+attribute_value := (string)
+

Un des en-têtes les plus importants est + content-length, car il indique si le conteneur doit ou + non attendre un autre paquet immédiatement.

+

Description détaillée de la requête que le serveur + fait suivre vers le conteneur +

+

Préfixe de la requête

+

Pour toutes les requêtes, ce préfixe est 2. Voir ci-dessus pour + les détails des autres codes de préfixes.

+ +

Méthode

+

La méthode HTTP, encodée sous la forme d'un seul octet :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nom commandeCode
OPTIONS1
GET2
HEAD3
POST4
PUT5
DELETE6
TRACE7
PROPFIND8
PROPPATCH9
MKCOL10
COPY11
MOVE12
LOCK13
UNLOCK14
ACL15
REPORT16
VERSION-CONTROL17
CHECKIN18
CHECKOUT19
UNCHECKOUT20
SEARCH21
MKWORKSPACE22
UPDATE23
LABEL24
MERGE25
BASELINE_CONTROL26
MKACTIVITY27
+

Les versions futures d'ajp13 pourront transmettre des méthodes + supplémentaires, même si elles ne font pas partie de cette + liste.

+ +

protocol, req_uri, remote_addr, remote_host, server_name, + server_port, is_ssl

+

Les significations de ces éléments sont triviales. Ils sont tous + obligatoires et seront envoyés avec chaque requête.

+ +

En-têtes

+

La structure de request_headers est la suivante + : tout d'abord, le nombre d'en-têtes num_headers est + encodé, suivi d'une liste de paires nom d'en-tête + req_header_name / valeur req_header_value. + Les noms d'en-têtes courants sont codés sous forme d'entiers afin de + gagner de la place. Si le nom d'en-tête ne fait partie de la liste + des en-têtes courants, il est encodé normalement (une chaîne de + caractères préfixée par la taille). La liste des en-têtes courants + sc_req_header_name avec leurs codes se présente comme + suit (il sont tous sensibles à la casse) :

+ + + + + + + + + + + + + + + + + + + +
NomValeur du codeNom du code
accept0xA001SC_REQ_ACCEPT
accept-charset0xA002SC_REQ_ACCEPT_CHARSET +
accept-encoding0xA003SC_REQ_ACCEPT_ENCODING +
accept-language0xA004SC_REQ_ACCEPT_LANGUAGE +
authorization0xA005SC_REQ_AUTHORIZATION
connection0xA006SC_REQ_CONNECTION
content-type0xA007SC_REQ_CONTENT_TYPE
content-length0xA008SC_REQ_CONTENT_LENGTH
cookie0xA009SC_REQ_COOKIE
cookie20xA00ASC_REQ_COOKIE2
host0xA00BSC_REQ_HOST
pragma0xA00CSC_REQ_PRAGMA
referer0xA00DSC_REQ_REFERER
user-agent0xA00ESC_REQ_USER_AGENT
+

Le code Java qui lit ceci extrait l'entier représenté par les + deux premiers octets, et si le premier octet est + '0xA0', il utilise l'entier représenté par le deuxième + octet comme index d'un tableau de noms d'en-têtes. Si le premier + octet n'est pas 0xA0, l'entier représenté par les deux + octets est considéré comme la longueur d'une chaîne qui est alors + lue.

+

Ceci ne peut fonctionner que si aucun nom d'en-tête ne possède + une taille supérieure à 0x9FFF (==0xA000 - 1), ce qui + est vraisemblable, bien qu'un peu arbitraire.

+

Note:

+ L'en-tête content-length est extrêmement important. + S'il est présent et non nul, le conteneur considère que la requête + possède un corps (une requête POST, par exemple), et lit + immédiatement le paquet suivant dans le flux d'entrée pour extraire + ce corps. +
+ +

Attributs

+

Les attributs préfixés par ? (par exemple + ?context) sont tous optionnels. Chacun d'eux est + représenté par un octet correspondant au type de l'attribut et par + sa valeur (chaîne ou entier). Ils peuvent être envoyés dans un ordre + quelconque (bien que le code C les envoie dans l'ordre ci-dessous). + Un code de terminaison spécial est envoyé pour signaler la fin de la + liste des attributs optionnels. La liste des codes est la suivante + :

+ + + + + + + + + + + + + + +
InformationValeur codeType de valeurNote
?context0x01-Non implémenté + actuellement +
?servlet_path0x02-Non implémenté + actuellement +
?remote_user0x03String
?auth_type0x04String
?query_string0x05String
?jvm_route0x06String
?ssl_cert0x07String
?ssl_cipher0x08String
?ssl_session0x09String
?req_attribute0x0AStringNom (le + nom de l'attribut vient ensuite)
?ssl_key_size0x0BInteger
are_done0xFF-request_terminator
+

context et servlet_path ne sont pas + définis actuellement par le code C, et la majorité du code Java + ignore complètement ce qui est envoyé par l'intermédiaire de ces + champs (il va même parfois s'interrompre si une chaîne est + envoyée après un de ces codes). Je ne sais pas si c'est une bogue ou + une fonctionnalité non implémentée, ou tout simplement du code + obsolète, mais en tout cas, il n'est pris en charge par aucune des + deux extrémités de la connexion.

+

remote_user et auth_type concernent + probablement l'authentification au niveau HTTP, et contiennent le + nom de l'utilisateur distant ainsi que le type d'authentification + utilisée pour établir son identité (à savoir Basic, Digest).

+

query_string, ssl_cert, + ssl_cipher et ssl_session contiennent les + éléments HTTP et HTTPS correspondants.

+

jvm_route est utilisé dans le cadre des sessions + persistantes, en associant une session utilisateur à une instance + Tomcat particulière en présence de plusieurs répartiteurs de + charge.

+

Au delà de cette liste de base, tout autre attribut + supplémentaire peut être envoyé via le code + req_attribute 0x0A. Une paire de chaînes + représentant le nom et la valeur de l'attribut est envoyée + immédiatement après chaque instance de ce code. Les variables + d'environnement sont transmises par cette méthode.

+

Enfin, lorsque tous les attributs ont été transmis, le + terminateur d'attributs, 0xFF, est envoyé. Ce dernier + indique à la fois la fin de la liste d'attributs et la fin du paquet + de la requête

+ +
top
+
+

Structure du paquet de la +réponse

+

Pour les messages que le conteneur peut renvoyer au + serveur.

+
AJP13_SEND_BODY_CHUNK :=
+  prefix_code   3
+  chunk_length  (integer)
+  chunk        *(byte)
+  chunk_terminator (byte) Ox00
+
+
+AJP13_SEND_HEADERS :=
+  prefix_code       4
+  http_status_code  (integer)
+  http_status_msg   (string)
+  num_headers       (integer)
+  response_headers *(res_header_name header_value)
+
+res_header_name :=
+    sc_res_header_name | (string)   [voir ci-dessous pour la manière
+    dont ceci est interprété]
+
+sc_res_header_name := 0xA0 (byte)
+
+header_value := (string)
+
+AJP13_END_RESPONSE :=
+  prefix_code       5
+  reuse             (boolean)
+
+
+AJP13_GET_BODY_CHUNK :=
+  prefix_code       6
+  requested_length  (integer)
+

Détails:

+

Envoi d'un tronçon de corps

+

Le tronçon se compose essentiellement de données binaires et est + renvoyé directement au navigateur.

+ +

Envoi des en-têtes

+

Les code et message d'état correspondent aux code et message HTTP + habituels (par exemple 200 et OK). Les + noms d'en-têtes de réponses sont codés de la même façon que les noms + d'en-têtes de requêtes. Voir ci-dessus le codage des en-têtes pour + plus de détails à propos de la manière dont les codes se distinguent + des chaînes.
+ Les codes des en-têtes courants sont ::

+ + + + + + + + + + + + + +
NomValeur code
Content-Type0xA001
Content-Language0xA002
Content-Length0xA003
Date0xA004
Last-Modified0xA005
Location0xA006
Set-Cookie0xA007
Set-Cookie20xA008
Servlet-Engine0xA009
Status0xA00A
WWW-Authenticate0xA00B
+

La valeur de l'en-tête est codée immédiatement après le code ou + la chaîne du nom d'en-tête.

+ +

Fin de la réponse

+

Signale la fin de ce cycle de traitement de requête. Si le + drapeau reuse est à true (toute valeur autre que + 0 en langage C pur), cette + connexion TCP peut être réutilisée pour traiter de nouvelles + requêtes entrantes. Si reuse est à false + (==0), la connexion sera fermée.

+ +

Réception d'un tronçon de corps

+

Le conteneur réclame la suite des données de la requête (dans le + cas où la taille du corps était trop importante pour pouvoir être + contenue dans le premier paquet envoyé, où lorsque la requête est + fractionnée). Le serveur va alors envoyer un paquet contenant une + quantité de données correspondant au minimum de la + request_length, la taille maximale de corps envoyée + (8186 (8 Koctets - 6)), et le nombre réel d'octets + restants à envoyer pour ce corps de requête.
+ S'il ne reste plus de données à transmettre pour ce corps de requête + (c'est à dire si le conteneur de servlets tente de lire au delà de + la fin du corps), le serveur va renvoyer un paquet vide + dont la charge utile est de longueur 0 et se présentant sous la + forme (0x12,0x34,0x00,0x00).

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ajp.xml.fr b/docs/manual/mod/mod_proxy_ajp.xml.fr new file mode 100644 index 0000000000..7baab2739d --- /dev/null +++ b/docs/manual/mod/mod_proxy_ajp.xml.fr @@ -0,0 +1,650 @@ + + + + + + + + + + + +mod_proxy_ajp +Module de support AJP pour +mod_proxy +Extension +mod_proxy_ajp.c +proxy_ajp_module + + +

Ce module nécessite le chargement de mod_proxy. Il fournit le support du Protocole Apache + JServ version 1.3 (nommé dans la suite de ce document + AJP13).

+ +

Pour être en mesure d'exploiter le protocole AJP13, + il est donc nécessaire de charger les modules + mod_proxy et mod_proxy_ajp.

+ + Avertissement +

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

+
+
+ +mod_proxy +Documentation sur les variables +d'environnement + +
Utilisation +

Ce module permet de mandater en inverse un serveur d'application + d'arrière-plan (comme Apache Tomcat) qui utilise le protocole AJP13. + Son utilisation est similaire à celle d'un mandataire inverse HTTP, + mais s'appuie sur le prefixe ajp:// :

+ + Mandataire inverse simple + + ProxyPass "/app" "ajp://backend.example.com:8009/app" + + + +

On peut aussi configurer un répartiteur de charge :

+ Mandataire inverse avec répartiteur de charge + +<Proxy balancer://cluster> + BalancerMember ajp://app1.example.com:8009 loadfactor=1 + BalancerMember ajp://app2.example.com:8009 loadfactor=2 + ProxySet lbmethod=bytraffic +</Proxy> +ProxyPass "/app" "balancer://cluster/app" + + + +

Notez qu'en général, la directive ProxyPassReverse n'est pas + nécessaire. La requête AJP inclut l'en-tête host original fourni + au mandataire, et le serveur d'application est sensé générer des + en-têtes auto-référençants relatifs à cet hôte ; aucune réécriture + n'est donc nécessaire.

+ +

La situation la plus courante dans laquelle la directive ProxyPassReverse est nécessaire se + rencontre lorsque le chemin de l'URL au niveau du mandataire est + différente de celle du serveur d'arrière-plan. Dans ce cas, un + en-tête redirect peut être réécrit relativement à l'URL de l'hôte + original (et non du serveur d'arrière-plan ajp:// URL) + ; par exemple :

+ Réécriture d'un chemin mandaté + +ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo" +ProxyPassReverse "/apps/foo" "http://www.example.com/foo" + + +

Il est cependant préférable en général de déployer l'application + sur le serveur d'arrière-plan avec le même chemin que sur le + mandataire. +

+
+ +
Variables d'environnement +

Les variables d'environnement dont le nom possède le préfixe + AJP_ sont transmises au serveur original en tant + qu'attributs de requête AJP (le préfixe AJP_ étant supprimé du nom + de la clé).

+
+ +
Vue d'ensemble du protocole +

Le protocole AJP13 est orienté paquet. Le format + binaire a été préféré, probablement pour des raisons de + performances, au format texte pourtant plus lisible. Le serveur web + communique avec le conteneur de servlets sur une connexion TCP. Pour + diminuer la charge induite par le processus de création de socket, + le serveur web va tenter d'utiliser des connexions TCP persistantes + avec le conteneur de servlets, et de réutiliser les connexions + pendant plusieurs cycles requêtes/réponse.

+

Lorsqu'une connexion a été assignée à une requête particulière, + elle ne sera utilisée pour aucune autre jusqu'à ce que le cycle de + traitement de la requête se soit terminé. En d'autres termes, il n'y + a pas de multiplexage des requêtes sur une connexion. Ceci se + traduit par un code beaucoup plus simple à chaque extrémité de la + connexion, un nombre plus important de connexions étant cependant + ouvertes en même temps.

+

Lorsque le serveur web a ouvert une connexion vers le conteneur + de servlets, celle-ci peut se trouver dans l'un des états suivants + :

+
    +
  • Idle
    Aucune requête n'est traitée sur cette + connexion.
  • +
  • Assigned
    La connexion fait l'objet d'un traitement de + requête.
  • +
+

Lorsqu'une connexion est assignée au traitement d'une requête + particulière, les informations de base de cette dernière (comme les + en-têtes HTTP, etc...) sont envoyées sur la connexion sous une forme + très condensée (par exemple les chaînes courantes sont codées sous + forme d'entiers). Vous trouverez des détails sur ce format plus + loin dans la structure des paquets de requête. Si la requête possède + un corps (content-length > 0), il est envoyé dans un + paquet séparé immédiatement après.

+

A ce moment, le conteneur est probablement prêt à traiter la + requête. Au cours de ce traitement, il peut renvoyer les messages + suivants au serveur web :

+
    +
  • SEND_HEADERS
    Renvoie un jeu d'en-têtes au navigateur.
  • +
  • SEND_BODY_CHUNK
    Renvoie un tronçon de corps de requête au + navigateur. +
  • +
  • GET_BODY_CHUNK
    Reçoit un autre tronçon de données de la + requête si elle n'a pas encore été transmise intégralement. Ce type + de transmission est nécessaire car les paquets possèdent une taille + maximale fixe, et des quantités quelconques de données peuvent être + contenues dans le corps de la requête (pour un chargement de + fichier, par exemple). Notez que cela n'a rien à voir avec le + transfert HTTP fractionné.
  • +
  • END_RESPONSE
    Termine le cycle du traitement de la + requête.
  • +
+

Chaque message est associé à un paquet de données formaté + différemment. Voir plus loin les structures des paquets de réponses + pour plus de détails.

+
+ +
Structure de base des paquets +

Ce protocole hérite en partie de XDR, mais il diffère sur de + nombreux points (pas d'alignement sur 4 bits, par exemple).

+

AJP13 utilise les octets selon leur ordre d'arrivée par le réseau + pour tous les types de données.

+

Le protocole comporte quatre types de données : octets, booléens, + entiers et chaînes de caractères.

+
+
Octet
Un seul octet.
+
Booléen
+
Un seul octet, 1 = vrai, 0 = faux. + L'utilisation d'autres valeurs non nulles (dans le style C) peut + fonctionner dans certains cas, mais pas dans certains autres..
+
Entier
+
Un nombre compris entre 0 et 2^16 (32768), stocké + sur 2 octets en débutant par l'octet de poids forts.
+
Chaîne
+
Une chaîne de taille variable (longueur limitée à 2^16). Elle + est codée comme suit : les deux premiers octets représentent la + longueur de la chaîne, les octets suivants constituent la chaîne + proprement dite (y compris le '\0' final). Notez que la longueur + encodée dans les deux premiers octets ne prend pas en compte le + '\0' final, de la même manière que strlen. Cela peut + prêter à confusion du point de vue de Java qui est surchargé de + déclarations d'autoincrémentation étranges destinées à traiter + ces terminateurs. Je suppose que le but dans lequel cela a + été conçu ainsi était de permettre au code C d'être plus efficace + lors de la lecture de chaînes en provenance du conteneur de + servlets -- avec le caractère \0 final, le code C peut transmettre + des références dans un seul tampon, sans avoir à effectuer de + copie. En l'absence du caractère \0 final, le code C doit + effectuer une copie afin de pouvoir tenir compte de sa notion de + chaîne.
+
+ +
Taille du paquet +

Selon la majorité du code, la taille maximale du paquet est de + 8 * 1024 bytes (8K). La taille réelle du paquet est + encodée dans l'en-tête.

+
+
En-têtes de paquet +

Les paquets envoyés par le serveur vers le conteneur commencent + par 0x1234. Les paquets envoyés par le conteneur vers + le serveur commencent par AB (c'est à dire le code + ASCII de A suivi du code ASCII de B). Ensuite, vient un entier (codé + comme ci-dessus) représentant la longueur des données transmises. + Bien que ceci puisse faire croire que la taille maximale des données + est de 2^16, le code définit en fait ce maximum à 8K.

+ + + + + + + + + + + + + + + + + + + + +
Format du paquet (Serveur->Conteneur)
Octet01234...(n+3)
Contenu0x120x34Taille des données (n)Data
+ + + + + + + + + + + + + + + + + + + + +
Format du paquet + (Conteneur->Serveur)
Octet01234...(n+3)
ContenuABTaille des données (n)Data
+

Pour la plupart des paquets, le premier octet de la charge utile + encode le type de message, à l'exception des paquets contenant un + corps de requête envoyés du serveur vers le conteneur -- ils + comportent un en-tête standard (0x1234 suivi de la taille + du paquet), mais celui-ci n'est suivi d'aucun préfixe.

+

Le serveur web peut envoyer les messages suivants au conteneur + de servlets :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeType de paquetSignification
2Fait suivre la requêteDébute le cycle de traitement de la requête avec les données + qui suivent.
7ArrêtLe serveur web demande au conteneur de s'arrêter.
8PingLe serveur web demande au conteneur de prendre le contrôle + (phase de connexion sécurisée).
10CPingLe serveur web demande au conteneur de répondre rapidement + avec un CPong. +
noneDonnéesTaille (2 octets) et les données correspondantes.
+

À des fins de sécurité, le conteneur n'effectuera réellement son + Arrêt que si la demande provient de la machine par + laquelle il est hébergé.

+

Le premier paquet Données est envoyé immédiatement + après le paquet Faire suivre la requête par le serveur + web.

+

Le conteneur de servlets peut envoyer les types de messages + suivants au serveur web :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeType de paquetSignification
3Envoi d'un tronçon de corpsEnvoi d'un tronçon de corps depuis le conteneur de servlets + vers le serveur web (et probablement vers le navigateur).
4Envoie les en-têtesEnvoi des en-têtes de réponse depuis le conteneur de + servlets vers le serveur web (et probablement vers le + navigateur).
5Fin de la réponseMarque la fin de la réponse (et par conséquent du cycle de + traitement de la requête). +
6Réception du tronçon de corps suivantRéception de la suite des données de la requête si elles + n'ont pas encore été entièrement transmises.
9Réponse CPongLa réponse à une requête CPing
+

Chacun des messages ci-dessus possède une structure interne + différente dont vous trouverez les détails ci-dessous.

+
+
+
Structure des paquets de +requête +

Pour les messages de type Faire suivre la requête depuis + le serveur vers le conteneur :

+
+AJP13_FORWARD_REQUEST :=
+    prefix_code      (byte) 0x02 = JK_AJP13_FORWARD_REQUEST
+    method           (byte)
+    protocol         (string)
+    req_uri          (string)
+    remote_addr      (string)
+    remote_host      (string)
+    server_name      (string)
+    server_port      (integer)
+    is_ssl           (boolean)
+    num_headers      (integer)
+    request_headers *(req_header_name req_header_value)
+    attributes      *(attribut_name attribute_value)
+    request_terminator (byte) OxFF
+    
+

Les request_headers possèdent la structure suivante + : +

+req_header_name :=
+    sc_req_header_name | (string)  [voir ci-dessous pour la manière dont
+    ceci est interprété]
+
+sc_req_header_name := 0xA0xx (integer)
+
+req_header_value := (string)
+
+

Les attributes sont optionnels et possèdent la + structure suivante :

+
+attribute_name := sc_a_name | (sc_a_req_attribute string)
+
+attribute_value := (string)
+
+    
+

Un des en-têtes les plus importants est + content-length, car il indique si le conteneur doit ou + non attendre un autre paquet immédiatement.

+
Description détaillée de la requête que le serveur + fait suivre vers le conteneur +
+
Préfixe de la requête +

Pour toutes les requêtes, ce préfixe est 2. Voir ci-dessus pour + les détails des autres codes de préfixes.

+
+
Méthode +

La méthode HTTP, encodée sous la forme d'un seul octet :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nom commandeCode
OPTIONS1
GET2
HEAD3
POST4
PUT5
DELETE6
TRACE7
PROPFIND8
PROPPATCH9
MKCOL10
COPY11
MOVE12
LOCK13
UNLOCK14
ACL15
REPORT16
VERSION-CONTROL17
CHECKIN18
CHECKOUT19
UNCHECKOUT20
SEARCH21
MKWORKSPACE22
UPDATE23
LABEL24
MERGE25
BASELINE_CONTROL26
MKACTIVITY27
+

Les versions futures d'ajp13 pourront transmettre des méthodes + supplémentaires, même si elles ne font pas partie de cette + liste.

+
+
protocol, req_uri, remote_addr, remote_host, server_name, + server_port, is_ssl +

Les significations de ces éléments sont triviales. Ils sont tous + obligatoires et seront envoyés avec chaque requête.

+
+
En-têtes +

La structure de request_headers est la suivante + : tout d'abord, le nombre d'en-têtes num_headers est + encodé, suivi d'une liste de paires nom d'en-tête + req_header_name / valeur req_header_value. + Les noms d'en-têtes courants sont codés sous forme d'entiers afin de + gagner de la place. Si le nom d'en-tête ne fait partie de la liste + des en-têtes courants, il est encodé normalement (une chaîne de + caractères préfixée par la taille). La liste des en-têtes courants + sc_req_header_name avec leurs codes se présente comme + suit (il sont tous sensibles à la casse) :

+ + + + + + + + + + + + + + + + + + + +
NomValeur du codeNom du code
accept0xA001SC_REQ_ACCEPT
accept-charset0xA002SC_REQ_ACCEPT_CHARSET +
accept-encoding0xA003SC_REQ_ACCEPT_ENCODING +
accept-language0xA004SC_REQ_ACCEPT_LANGUAGE +
authorization0xA005SC_REQ_AUTHORIZATION
connection0xA006SC_REQ_CONNECTION
content-type0xA007SC_REQ_CONTENT_TYPE
content-length0xA008SC_REQ_CONTENT_LENGTH
cookie0xA009SC_REQ_COOKIE
cookie20xA00ASC_REQ_COOKIE2
host0xA00BSC_REQ_HOST
pragma0xA00CSC_REQ_PRAGMA
referer0xA00DSC_REQ_REFERER
user-agent0xA00ESC_REQ_USER_AGENT
+

Le code Java qui lit ceci extrait l'entier représenté par les + deux premiers octets, et si le premier octet est + '0xA0', il utilise l'entier représenté par le deuxième + octet comme index d'un tableau de noms d'en-têtes. Si le premier + octet n'est pas 0xA0, l'entier représenté par les deux + octets est considéré comme la longueur d'une chaîne qui est alors + lue.

+

Ceci ne peut fonctionner que si aucun nom d'en-tête ne possède + une taille supérieure à 0x9FFF (==0xA000 - 1), ce qui + est vraisemblable, bien qu'un peu arbitraire.

+ Note: + L'en-tête content-length est extrêmement important. + S'il est présent et non nul, le conteneur considère que la requête + possède un corps (une requête POST, par exemple), et lit + immédiatement le paquet suivant dans le flux d'entrée pour extraire + ce corps. + +
+
Attributs +

Les attributs préfixés par ? (par exemple + ?context) sont tous optionnels. Chacun d'eux est + représenté par un octet correspondant au type de l'attribut et par + sa valeur (chaîne ou entier). Ils peuvent être envoyés dans un ordre + quelconque (bien que le code C les envoie dans l'ordre ci-dessous). + Un code de terminaison spécial est envoyé pour signaler la fin de la + liste des attributs optionnels. La liste des codes est la suivante + :

+ + + + + + + + + + + + + + +
InformationValeur codeType de valeurNote
?context0x01-Non implémenté + actuellement +
?servlet_path0x02-Non implémenté + actuellement +
?remote_user0x03String
?auth_type0x04String
?query_string0x05String
?jvm_route0x06String
?ssl_cert0x07String
?ssl_cipher0x08String
?ssl_session0x09String
?req_attribute0x0AStringNom (le + nom de l'attribut vient ensuite)
?ssl_key_size0x0BInteger
are_done0xFF-request_terminator
+

context et servlet_path ne sont pas + définis actuellement par le code C, et la majorité du code Java + ignore complètement ce qui est envoyé par l'intermédiaire de ces + champs (il va même parfois s'interrompre si une chaîne est + envoyée après un de ces codes). Je ne sais pas si c'est une bogue ou + une fonctionnalité non implémentée, ou tout simplement du code + obsolète, mais en tout cas, il n'est pris en charge par aucune des + deux extrémités de la connexion.

+

remote_user et auth_type concernent + probablement l'authentification au niveau HTTP, et contiennent le + nom de l'utilisateur distant ainsi que le type d'authentification + utilisée pour établir son identité (à savoir Basic, Digest).

+

query_string, ssl_cert, + ssl_cipher et ssl_session contiennent les + éléments HTTP et HTTPS correspondants.

+

jvm_route est utilisé dans le cadre des sessions + persistantes, en associant une session utilisateur à une instance + Tomcat particulière en présence de plusieurs répartiteurs de + charge.

+

Au delà de cette liste de base, tout autre attribut + supplémentaire peut être envoyé via le code + req_attribute 0x0A. Une paire de chaînes + représentant le nom et la valeur de l'attribut est envoyée + immédiatement après chaque instance de ce code. Les variables + d'environnement sont transmises par cette méthode.

+

Enfin, lorsque tous les attributs ont été transmis, le + terminateur d'attributs, 0xFF, est envoyé. Ce dernier + indique à la fois la fin de la liste d'attributs et la fin du paquet + de la requête

+
+
+ +
Structure du paquet de la +réponse +

Pour les messages que le conteneur peut renvoyer au + serveur.

+
+AJP13_SEND_BODY_CHUNK :=
+  prefix_code   3
+  chunk_length  (integer)
+  chunk        *(byte)
+  chunk_terminator (byte) Ox00
+
+
+AJP13_SEND_HEADERS :=
+  prefix_code       4
+  http_status_code  (integer)
+  http_status_msg   (string)
+  num_headers       (integer)
+  response_headers *(res_header_name header_value)
+
+res_header_name :=
+    sc_res_header_name | (string)   [voir ci-dessous pour la manière
+    dont ceci est interprété]
+
+sc_res_header_name := 0xA0 (byte)
+
+header_value := (string)
+
+AJP13_END_RESPONSE :=
+  prefix_code       5
+  reuse             (boolean)
+
+
+AJP13_GET_BODY_CHUNK :=
+  prefix_code       6
+  requested_length  (integer)
+    
+
Détails:
+
Envoi d'un tronçon de corps +

Le tronçon se compose essentiellement de données binaires et est + renvoyé directement au navigateur.

+
+
Envoi des en-têtes +

Les code et message d'état correspondent aux code et message HTTP + habituels (par exemple 200 et OK). Les + noms d'en-têtes de réponses sont codés de la même façon que les noms + d'en-têtes de requêtes. Voir ci-dessus le codage des en-têtes pour + plus de détails à propos de la manière dont les codes se distinguent + des chaînes.
+ Les codes des en-têtes courants sont ::

+ + + + + + + + + + + + + +
NomValeur code
Content-Type0xA001
Content-Language0xA002
Content-Length0xA003
Date0xA004
Last-Modified0xA005
Location0xA006
Set-Cookie0xA007
Set-Cookie20xA008
Servlet-Engine0xA009
Status0xA00A
WWW-Authenticate0xA00B
+

La valeur de l'en-tête est codée immédiatement après le code ou + la chaîne du nom d'en-tête.

+
+
Fin de la réponse +

Signale la fin de ce cycle de traitement de requête. Si le + drapeau reuse est à true (toute valeur autre que + 0 en langage C pur), cette + connexion TCP peut être réutilisée pour traiter de nouvelles + requêtes entrantes. Si reuse est à false + (==0), la connexion sera fermée.

+
+
Réception d'un tronçon de corps +

Le conteneur réclame la suite des données de la requête (dans le + cas où la taille du corps était trop importante pour pouvoir être + contenue dans le premier paquet envoyé, où lorsque la requête est + fractionnée). Le serveur va alors envoyer un paquet contenant une + quantité de données correspondant au minimum de la + request_length, la taille maximale de corps envoyée + (8186 (8 Koctets - 6)), et le nombre réel d'octets + restants à envoyer pour ce corps de requête.
+ S'il ne reste plus de données à transmettre pour ce corps de requête + (c'est à dire si le conteneur de servlets tente de lire au delà de + la fin du corps), le serveur va renvoyer un paquet vide + dont la charge utile est de longueur 0 et se présentant sous la + forme (0x12,0x34,0x00,0x00).

+
+
+ + +
diff --git a/docs/manual/mod/mod_proxy_ajp.xml.meta b/docs/manual/mod/mod_proxy_ajp.xml.meta index 4c9c620beb..21fdf5389b 100644 --- a/docs/manual/mod/mod_proxy_ajp.xml.meta +++ b/docs/manual/mod/mod_proxy_ajp.xml.meta @@ -8,6 +8,7 @@ en + fr ja diff --git a/docs/manual/mod/mod_proxy_balancer.html b/docs/manual/mod/mod_proxy_balancer.html index 8cf8ef65f2..d9961d4147 100644 --- a/docs/manual/mod/mod_proxy_balancer.html +++ b/docs/manual/mod/mod_proxy_balancer.html @@ -4,6 +4,10 @@ URI: mod_proxy_balancer.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_proxy_balancer.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_proxy_balancer.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_balancer.html.fr b/docs/manual/mod/mod_proxy_balancer.html.fr new file mode 100644 index 0000000000..f7507e1840 --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.html.fr @@ -0,0 +1,401 @@ + + + + + +mod_proxy_balancer - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_balancer

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+ + + +
Description:Extension de mod_proxy pour le support de +la répartition de charge
Statut:Extension
Identificateur de Module:proxy_balancer_module
Fichier Source:mod_proxy_balancer.c
+

Sommaire

+ +

Pour pouvoir fonctionner, ce module requiert le + chargement de mod_proxy, et il fournit le support de + la répartition de charge pour tous les protocoles supportés. Parmi ces + protocoles, les plus importants sont :

+ + + +

L'algorithme de planification de la répartition de charge n'est pas + fourni par ce module, mais par ceux-ci :

+ + +

Ainsi, pour mettre en oeuvre la répartition de charge, + mod_proxy, mod_proxy_balancer et + au moins un des modules fournissant l'algorithme de planification de + la répartition de charge doivent être chargés dans le serveur.

+ +

Avertissement

+

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

+
+
+ +
top
+
+

L'algorithme de planification de la répartition de + charge

+ +

A l'heure actuelle, 3 algorithmes de planification de la + répartition de charge sont disponibles : ils se basent + respectivement sur le comptage des requêtes, la mesure du trafic et + le comptage des requêtes en attente. Ils sont contrôlés par la + valeur de lbmethod dans la définition du répartiteur. + Voir la directive ProxyPass pour plus de détails, et en + particulier la configuration du répartiteur et de ses membres.

+
top
+
+

Répartition de charge avec abonnement utilisateur + (stickyness)

+ +

Le répartiteur supporte l'abonnement utilisateur. Lorsqu'une + requête est mandatée vers un serveur d'arrière-plan particulier, + toutes les requêtes suivantes du même utilisateur seront alors + mandatées vers le même serveur d'arrière-plan. De nombreux + répartiteurs de charge implémentent cette fonctionnalité via une + table qui associe les adresses IP des clients aux serveurs + d'arrière-plan. Cette approche est transparente aux clients et aux + serveurs d'arrière-plan, mais induit certains problèmes : + distribution de charge inégale si les clients se trouvent eux-mêmes + derrière un mandataire, erreurs d'abonnement lorsqu'un client + possède une adresse IP dynamique qui peut changer au cours d'une + session et perte d'abonnement en cas de dépassement de la table de + correspondances.

+

Le module mod_proxy_balancer implémente + l'abonnement selon deux alternatives : les cookies et le codage + d'URL. Le cookie peut être fourni par le serveur d'arrière-plan ou + par le serveur web Apache lui-même, alors que le codage d'URL est en + général effectué par le serveur d'arrière-plan.

+ +
top
+
+

Exemples de configuration d'un répartiteur

+ +

Avant de nous plonger dans les détails techniques, voici un + exemple d'utilisation de mod_proxy_balancer mettant + en oeuvre la répartition de charge entre deux serveurs + d'arrière-plan : +

+ +
<Proxy balancer://mycluster>
+    BalancerMember http://192.168.1.50:80
+    BalancerMember http://192.168.1.51:80
+</Proxy>
+ProxyPass 	 "/test" "balancer://mycluster"
+ProxyPassReverse "/test" "balancer://mycluster"
+ + + +

Voici un autre exemple de répartiteur de charge avec + abonnement utilisant mod_headers, + fonctionnant même si le serveur d'arrière-plan ne définit pas de + cookie de session approprié : +

+ +
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
+<Proxy balancer://mycluster>
+    BalancerMember http://192.168.1.50:80 route=1
+    BalancerMember http://192.168.1.51:80 route=2
+    ProxySet stickysession=ROUTEID
+</Proxy>
+ProxyPass 	 "/test" "balancer://mycluster"
+ProxyPassReverse "/test" "balancer://mycluster"
+ + +
top
+
+

Variables d'environnement exportées

+ +

A l'heure actuelle, 6 variables d'environnement sont exportées :

+ +
+ +
BALANCER_SESSION_STICKY
+
+

Cette variable se voir assignée la valeur de + stickysession pour la requête courante. Il s'agit du + nom du cookie ou du paramètre de requête utilisé pour les sessions + avec abonnement.

+
+ + +
BALANCER_SESSION_ROUTE
+
+

Cette variable se voit assignée la route interprétée + pour la requête courante.

+
+ + +
BALANCER_NAME
+
+

Cette variable se voit assigné le nom du répartiteur pour la + requête courante. Il s'agit d'une valeur du style + balancer://foo.

+
+ + +
BALANCER_WORKER_NAME
+
+

Cette variable se voit assigné le nom du membre du groupe de + répartition de charge utilisé pour la requête courante. Il s'agit + d'une valeur du style http://hostA:1234.

+
+ + +
BALANCER_WORKER_ROUTE
+
+

Cette variable se voit assignée la route du membre du + groupe de répartition de charge qui sera utilisé pour la requête + courante.

+
+ + +
BALANCER_ROUTE_CHANGED
+
+

Cette variable est définie à 1 si la route de la session ne + correspond pas à celle du membre du groupe de répartition de charge + (BALANCER_SESSION_ROUTE != BALANCER_WORKER_ROUTE), ou si la session + ne possède pas encore de route établie. Elle peut servir à + déterminer quand il est éventuellement nécessaire d'envoyer au + client une route mise à jour lorsque les sessions persistantes sont + utilisées.

+
+
+ +
top
+
+

Activation du support du gestionnaire de répartiteur

+ +

Cette fonctionnalité nécessite le chargement du module + mod_status. Le gestionnaire de répartiteur permet + la mise à jour dynamique des membres du groupe de répartition de + charge. Vous pouvez utiliser le gestionnaire de répartiteur pour + modifier le facteur de charge d'un membre particulier, ou passer ce + dernier en mode hors ligne. +

+ +

Ainsi, pour mettre en oeuvre la gestion du répartiteur de charge, + mod_status et mod_proxy_balancer + doivent être chargés dans le serveur.

+ +

Pour permettre la gestion du répartiteur de charge aux + navigateurs appartenant au domaine example.com, ajoutez ces lignes à + votre fichier de configuration httpd.conf :

+
<Location "/balancer-manager">
+    SetHandler balancer-manager
+    Require host example.com
+</Location>
+ + +

Vous pourrez alors accéder au gestionnaire du répartiteur de + charge en utilisant un navigateur web pour afficher la page + http://nom.de.votre.serveur/balancer-manager. Notez que + pour pouvoir contrôler dynamiquement un membre de groupe de + répartition, ce dernier ne doit pas être défini au sein d'une + section <Location ...>.

+
top
+
+

Détails à propos de la répartition de charge par abonnement + (stickyness)

+ +

Si l'abonnement s'appuie sur un cookie, vous devez définir le nom + de ce cookie dont le contenu précise le serveur d'arrière-plan à + utiliser. Pour ce faire, on utilise l'attribut + stickysession avec la directive ProxyPass ou ProxySet. Le nom du cookie est + sensible à la casse. Le répartiteur extrait le contenu du cookie et + recherche un serveur membre dont la route correspond à + cette valeur. La route doit aussi être définie dans la directive ProxyPass ou ProxySet. Le cookie peut être défini + soit par le serveur d'arrière-plan, soit, comme indiqué dans l'exemple ci-dessus par le serveur web Apache + lui-même.

+

Certains serveurs d'arrière-plan, tels qu'Apache Tomcat, + utilisent une forme sensiblement différente de cookie d'abonnement. + Tomcat ajoute le nom de l'instance Tomcat à la fin de son + identifiant de session, précédé par un point. Ainsi, si le serveur + web Apache trouve un point dans la valeur du cookie d'abonnement, il + n'utilisera que la partie située après ce point pour + rechercher sa route. Pour que Tomcat puisse connaître son nom + d'instance, vous devez définir l'attribut jvmRoute dans + son fichier de configuration conf/server.xml à la + valeur de la route du serveur qui se connecte au Tomcat + considéré. Le nom du cookie de session utilisé par Tomcat (et plus + généralement par les applications web Java à base de servlets) est + JSESSIONID (en majuscules), mais peut être modifié.

+ +

La seconde méthode pour implémenter l'abonnement est le codage + d'URL. Ici, le serveur web recherche un paramètre dans l'URL de la + requête. Le nom du paramètre est spécifié par l'attribut + stickysession. Pour trouver un serveur membre, on + recherche un serveur dont la route est égale à la valeur + du paramètre. Comme il n'est pas aisé d'extraire et de manipuler + tous les liens URL contenus dans les réponses, le travail consistant + à ajouter les paramètres à chaque lien est généralement effectué par + le serveur d'arrière-plan qui génère le contenu. Bien qu'il soit + possible dans certains cas d'effectuer ces ajouts au niveau du + serveur web via les modules mod_substitute ou + mod_sed, cette méthode peut dégrader les + performances.

+ +

Les standards Java implémentent le codage d'URL de manière + sensiblement différente. Ils ajoutent une information de chemin à + l'URL en utilisant un point-virgule (;) comme + séparateur, puis ajoutent enfin l'identifiant de session. Comme dans + le cas des cookies, Apache Tomcat peut insérer la valeur de + l'attribut jvmRoute dans cette information de chemin. + Pour qu'Apache puisse trouver ce genre d'information de chemin, vous + devez définir scolonpathdelim à On dans la + directive ProxyPass ou + ProxySet.

+ +

Enfin, vous pouvez utiliser simultanément les cookies et le codage + d'URL en définissant le nom du cookie et le nom du paramètre d'URL + séparés par une barre verticale (|) comme dans + l'exemple suivant :

+
ProxyPass "/test" "balancer://mycluster" stickysession=JSESSIONID|jsessionid scolonpathdelim=On
+<Proxy balancer://mycluster>
+    BalancerMember http://192.168.1.50:80 route=node1
+    BalancerMember http://192.168.1.51:80 route=node2
+</Proxy>
+ +

Si le cookie et le paramètre de requête fournissent tous deux une + information de route correcte pour la même requête, c'est + l'information en provenance du paramètre de requête qui sera + retenue.

+
top
+
+

Résolution des problèmes liés à la répartition de charge par + abonnement

+ +

Si vous êtes confronté à des erreurs d'abonnement, comme la + nécessité pour les utilisateurs de se reconnecter suite à une perte + de session d'application, vous devez tout d'abord vérifier si ceci + n'est pas du à une indisponibilité sporadique des serveurs + d'arrière-plan ou à une erreur de configuration. La présence de + messages d'erreur de type proxy dans le journal des erreurs d'Apache + pourra révéler des problèmes de stabilité au niveau des serveurs + d'arrière-plan.

+

Pour contrôler votre configuration, regardez tout d'abord si + l'abonnement est à base de cookie ou de codage d'URL. L'étape + suivante consiste à enregistrer certaines données dans le journal + des accès en utilisant un format + de journalisation personnalisé. Les champs intéressants + sont les suivants :

+
+
%{MONCOOKIE}C
+
La valeur que contient le cookie de nom MONCOOKIE. + Le nom doit correspondre au nom défini par l'attribut + stickysession.
+
%{Set-Cookie}o
+
Ce champ contient tout cookie défini par le serveur + d'arrière-plan. Vous pouvez ainsi vérifier si le serveur + d'arrière-plan définit bien le cookie de session auquel vous vous + attendez, et à quelle valeur il est défini.
+
%{BALANCER_SESSION_STICKY}e
+
Le nom du cookie ou du paramètre de requête utilisé pour la + recherche de l'information de routage.
+
%{BALANCER_SESSION_ROUTE}e
+
L'information de routage extraite de la requête.
+
%{BALANCER_WORKER_ROUTE}e
+
La route du serveur choisi.
+
%{BALANCER_ROUTE_CHANGED}e
+
Contient la valeur 1 si la route extraite de la + requête est différente de la route du serveur ; autrement dit, le + traitement de la requête n'a pas pu être effectué dans le cadre + d'une répartition de charge par abonnement.
+
+

Les pertes de session sont souvent dues à des expirations de + session dont la valeur peut en général être configurée au niveau du + serveur d'arrière-plan.

+

Si le niveau de journalisation est défini à debug ou + plus, le répartiteur journalise aussi des informations détaillées à + propos de l'abonnement dans le journal des erreurs, ce qui facilite + la résolution des problèmes d'abonnement. Notez cependant que le + volume de journalisation pourra alors s'avérer trop important pour + un serveur en production sous forte charge.

+
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_balancer.xml.fr b/docs/manual/mod/mod_proxy_balancer.xml.fr new file mode 100644 index 0000000000..ebb931fae2 --- /dev/null +++ b/docs/manual/mod/mod_proxy_balancer.xml.fr @@ -0,0 +1,360 @@ + + + + + + + + + + + +mod_proxy_balancer +Extension de mod_proxy pour le support de +la répartition de charge +Extension +mod_proxy_balancer.c +proxy_balancer_module + + +

Pour pouvoir fonctionner, ce module requiert le + chargement de mod_proxy, et il fournit le support de + la répartition de charge pour tous les protocoles supportés. Parmi ces + protocoles, les plus importants sont :

+
    +
  • HTTP, avec le module mod_proxy_http
  • +
  • FTP, avec le module mod_proxy_ftp
  • +
  • AJP13, avec le module mod_proxy_ajp
  • +
  • WebSocket, avec le module mod_proxy_wstunnel
  • +
+ + +

L'algorithme de planification de la répartition de charge n'est pas + fourni par ce module, mais par ceux-ci :

+
    +
  • mod_lbmethod_byrequests
  • +
  • mod_lbmethod_bytraffic
  • +
  • mod_lbmethod_bybusyness
  • +
  • mod_lbmethod_heartbeat
  • +
+ +

Ainsi, pour mettre en oeuvre la répartition de charge, + mod_proxy, mod_proxy_balancer et + au moins un des modules fournissant l'algorithme de planification de + la répartition de charge doivent être chargés dans le serveur.

+ + Avertissement +

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

+
+
+mod_proxy + +
+ L'algorithme de planification de la répartition de + charge +

A l'heure actuelle, 3 algorithmes de planification de la + répartition de charge sont disponibles : ils se basent + respectivement sur le comptage des requêtes, la mesure du trafic et + le comptage des requêtes en attente. Ils sont contrôlés par la + valeur de lbmethod dans la définition du répartiteur. + Voir la directive ProxyPass pour plus de détails, et en + particulier la configuration du répartiteur et de ses membres.

+
+ +
+ Répartition de charge avec abonnement utilisateur + (stickyness) +

Le répartiteur supporte l'abonnement utilisateur. Lorsqu'une + requête est mandatée vers un serveur d'arrière-plan particulier, + toutes les requêtes suivantes du même utilisateur seront alors + mandatées vers le même serveur d'arrière-plan. De nombreux + répartiteurs de charge implémentent cette fonctionnalité via une + table qui associe les adresses IP des clients aux serveurs + d'arrière-plan. Cette approche est transparente aux clients et aux + serveurs d'arrière-plan, mais induit certains problèmes : + distribution de charge inégale si les clients se trouvent eux-mêmes + derrière un mandataire, erreurs d'abonnement lorsqu'un client + possède une adresse IP dynamique qui peut changer au cours d'une + session et perte d'abonnement en cas de dépassement de la table de + correspondances.

+

Le module mod_proxy_balancer implémente + l'abonnement selon deux alternatives : les cookies et le codage + d'URL. Le cookie peut être fourni par le serveur d'arrière-plan ou + par le serveur web Apache lui-même, alors que le codage d'URL est en + général effectué par le serveur d'arrière-plan.

+ +
+ +
+ Exemples de configuration d'un répartiteur +

Avant de nous plonger dans les détails techniques, voici un + exemple d'utilisation de mod_proxy_balancer mettant + en oeuvre la répartition de charge entre deux serveurs + d'arrière-plan : +

+ + +<Proxy balancer://mycluster> + BalancerMember http://192.168.1.50:80 + BalancerMember http://192.168.1.51:80 +</Proxy> +ProxyPass "/test" "balancer://mycluster" +ProxyPassReverse "/test" "balancer://mycluster" + + + +

Voici un autre exemple de répartiteur de charge avec + abonnement utilisant mod_headers, + fonctionnant même si le serveur d'arrière-plan ne définit pas de + cookie de session approprié : +

+ + +Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED +<Proxy balancer://mycluster> + BalancerMember http://192.168.1.50:80 route=1 + BalancerMember http://192.168.1.51:80 route=2 + ProxySet stickysession=ROUTEID +</Proxy> +ProxyPass "/test" "balancer://mycluster" +ProxyPassReverse "/test" "balancer://mycluster" + + +
+ +
+ Variables d'environnement exportées +

A l'heure actuelle, 6 variables d'environnement sont exportées :

+ +
+ +
BALANCER_SESSION_STICKY
+
+

Cette variable se voir assignée la valeur de + stickysession pour la requête courante. Il s'agit du + nom du cookie ou du paramètre de requête utilisé pour les sessions + avec abonnement.

+
+ + +
BALANCER_SESSION_ROUTE
+
+

Cette variable se voit assignée la route interprétée + pour la requête courante.

+
+ + +
BALANCER_NAME
+
+

Cette variable se voit assigné le nom du répartiteur pour la + requête courante. Il s'agit d'une valeur du style + balancer://foo.

+
+ + +
BALANCER_WORKER_NAME
+
+

Cette variable se voit assigné le nom du membre du groupe de + répartition de charge utilisé pour la requête courante. Il s'agit + d'une valeur du style http://hostA:1234.

+
+ + +
BALANCER_WORKER_ROUTE
+
+

Cette variable se voit assignée la route du membre du + groupe de répartition de charge qui sera utilisé pour la requête + courante.

+
+ + +
BALANCER_ROUTE_CHANGED
+
+

Cette variable est définie à 1 si la route de la session ne + correspond pas à celle du membre du groupe de répartition de charge + (BALANCER_SESSION_ROUTE != BALANCER_WORKER_ROUTE), ou si la session + ne possède pas encore de route établie. Elle peut servir à + déterminer quand il est éventuellement nécessaire d'envoyer au + client une route mise à jour lorsque les sessions persistantes sont + utilisées.

+
+
+ +
+ +
+ Activation du support du gestionnaire de répartiteur +

Cette fonctionnalité nécessite le chargement du module + mod_status. Le gestionnaire de répartiteur permet + la mise à jour dynamique des membres du groupe de répartition de + charge. Vous pouvez utiliser le gestionnaire de répartiteur pour + modifier le facteur de charge d'un membre particulier, ou passer ce + dernier en mode hors ligne. +

+ +

Ainsi, pour mettre en oeuvre la gestion du répartiteur de charge, + mod_status et mod_proxy_balancer + doivent être chargés dans le serveur.

+ +

Pour permettre la gestion du répartiteur de charge aux + navigateurs appartenant au domaine example.com, ajoutez ces lignes à + votre fichier de configuration httpd.conf :

+ +<Location "/balancer-manager"> + SetHandler balancer-manager + Require host example.com +</Location> + + +

Vous pourrez alors accéder au gestionnaire du répartiteur de + charge en utilisant un navigateur web pour afficher la page + http://nom.de.votre.serveur/balancer-manager. Notez que + pour pouvoir contrôler dynamiquement un membre de groupe de + répartition, ce dernier ne doit pas être défini au sein d'une + section <Location ...>.

+
+ +
+ Détails à propos de la répartition de charge par abonnement + (stickyness) +

Si l'abonnement s'appuie sur un cookie, vous devez définir le nom + de ce cookie dont le contenu précise le serveur d'arrière-plan à + utiliser. Pour ce faire, on utilise l'attribut + stickysession avec la directive ProxyPass ou ProxySet. Le nom du cookie est + sensible à la casse. Le répartiteur extrait le contenu du cookie et + recherche un serveur membre dont la route correspond à + cette valeur. La route doit aussi être définie dans la directive ProxyPass ou ProxySet. Le cookie peut être défini + soit par le serveur d'arrière-plan, soit, comme indiqué dans l'exemple ci-dessus par le serveur web Apache + lui-même.

+

Certains serveurs d'arrière-plan, tels qu'Apache Tomcat, + utilisent une forme sensiblement différente de cookie d'abonnement. + Tomcat ajoute le nom de l'instance Tomcat à la fin de son + identifiant de session, précédé par un point. Ainsi, si le serveur + web Apache trouve un point dans la valeur du cookie d'abonnement, il + n'utilisera que la partie située après ce point pour + rechercher sa route. Pour que Tomcat puisse connaître son nom + d'instance, vous devez définir l'attribut jvmRoute dans + son fichier de configuration conf/server.xml à la + valeur de la route du serveur qui se connecte au Tomcat + considéré. Le nom du cookie de session utilisé par Tomcat (et plus + généralement par les applications web Java à base de servlets) est + JSESSIONID (en majuscules), mais peut être modifié.

+ +

La seconde méthode pour implémenter l'abonnement est le codage + d'URL. Ici, le serveur web recherche un paramètre dans l'URL de la + requête. Le nom du paramètre est spécifié par l'attribut + stickysession. Pour trouver un serveur membre, on + recherche un serveur dont la route est égale à la valeur + du paramètre. Comme il n'est pas aisé d'extraire et de manipuler + tous les liens URL contenus dans les réponses, le travail consistant + à ajouter les paramètres à chaque lien est généralement effectué par + le serveur d'arrière-plan qui génère le contenu. Bien qu'il soit + possible dans certains cas d'effectuer ces ajouts au niveau du + serveur web via les modules mod_substitute ou + mod_sed, cette méthode peut dégrader les + performances.

+ +

Les standards Java implémentent le codage d'URL de manière + sensiblement différente. Ils ajoutent une information de chemin à + l'URL en utilisant un point-virgule (;) comme + séparateur, puis ajoutent enfin l'identifiant de session. Comme dans + le cas des cookies, Apache Tomcat peut insérer la valeur de + l'attribut jvmRoute dans cette information de chemin. + Pour qu'Apache puisse trouver ce genre d'information de chemin, vous + devez définir scolonpathdelim à On dans la + directive ProxyPass ou + ProxySet.

+ +

Enfin, vous pouvez utiliser simultanément les cookies et le codage + d'URL en définissant le nom du cookie et le nom du paramètre d'URL + séparés par une barre verticale (|) comme dans + l'exemple suivant :

+ +ProxyPass "/test" "balancer://mycluster" stickysession=JSESSIONID|jsessionid scolonpathdelim=On +<Proxy balancer://mycluster> + BalancerMember http://192.168.1.50:80 route=node1 + BalancerMember http://192.168.1.51:80 route=node2 +</Proxy> + +

Si le cookie et le paramètre de requête fournissent tous deux une + information de route correcte pour la même requête, c'est + l'information en provenance du paramètre de requête qui sera + retenue.

+
+ +
+ Résolution des problèmes liés à la répartition de charge par + abonnement +

Si vous êtes confronté à des erreurs d'abonnement, comme la + nécessité pour les utilisateurs de se reconnecter suite à une perte + de session d'application, vous devez tout d'abord vérifier si ceci + n'est pas du à une indisponibilité sporadique des serveurs + d'arrière-plan ou à une erreur de configuration. La présence de + messages d'erreur de type proxy dans le journal des erreurs d'Apache + pourra révéler des problèmes de stabilité au niveau des serveurs + d'arrière-plan.

+

Pour contrôler votre configuration, regardez tout d'abord si + l'abonnement est à base de cookie ou de codage d'URL. L'étape + suivante consiste à enregistrer certaines données dans le journal + des accès en utilisant un format + de journalisation personnalisé. Les champs intéressants + sont les suivants :

+
+
%{MONCOOKIE}C
+
La valeur que contient le cookie de nom MONCOOKIE. + Le nom doit correspondre au nom défini par l'attribut + stickysession.
+
%{Set-Cookie}o
+
Ce champ contient tout cookie défini par le serveur + d'arrière-plan. Vous pouvez ainsi vérifier si le serveur + d'arrière-plan définit bien le cookie de session auquel vous vous + attendez, et à quelle valeur il est défini.
+
%{BALANCER_SESSION_STICKY}e
+
Le nom du cookie ou du paramètre de requête utilisé pour la + recherche de l'information de routage.
+
%{BALANCER_SESSION_ROUTE}e
+
L'information de routage extraite de la requête.
+
%{BALANCER_WORKER_ROUTE}e
+
La route du serveur choisi.
+
%{BALANCER_ROUTE_CHANGED}e
+
Contient la valeur 1 si la route extraite de la + requête est différente de la route du serveur ; autrement dit, le + traitement de la requête n'a pas pu être effectué dans le cadre + d'une répartition de charge par abonnement.
+
+

Les pertes de session sont souvent dues à des expirations de + session dont la valeur peut en général être configurée au niveau du + serveur d'arrière-plan.

+

Si le niveau de journalisation est défini à debug ou + plus, le répartiteur journalise aussi des informations détaillées à + propos de l'abonnement dans le journal des erreurs, ce qui facilite + la résolution des problèmes d'abonnement. Notez cependant que le + volume de journalisation pourra alors s'avérer trop important pour + un serveur en production sous forte charge.

+
+ +
diff --git a/docs/manual/mod/mod_proxy_balancer.xml.meta b/docs/manual/mod/mod_proxy_balancer.xml.meta index fe444274b2..ef621147e4 100644 --- a/docs/manual/mod/mod_proxy_balancer.xml.meta +++ b/docs/manual/mod/mod_proxy_balancer.xml.meta @@ -8,6 +8,7 @@ en + fr ja diff --git a/docs/manual/mod/mod_proxy_connect.html b/docs/manual/mod/mod_proxy_connect.html index 05c12719b1..4d4aafaa7c 100644 --- a/docs/manual/mod/mod_proxy_connect.html +++ b/docs/manual/mod/mod_proxy_connect.html @@ -4,6 +4,10 @@ URI: mod_proxy_connect.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_proxy_connect.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_proxy_connect.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_proxy_connect.html.fr b/docs/manual/mod/mod_proxy_connect.html.fr new file mode 100644 index 0000000000..060843eb9e --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.html.fr @@ -0,0 +1,157 @@ + + + + + +mod_proxy_connect - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_connect

+
+

Langues Disponibles:  en  | + fr  | + ja 

+
+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
+ + + +
Description:Extension de mod_proxy pour le traitement +des requêtes CONNECT
Statut:Extension
Identificateur de Module:proxy_connect_module
Fichier Source:mod_proxy_connect.c
+

Sommaire

+ +

Pour fonctionner, ce module nécessite le chargement de + mod_proxy. Il fournit le support de la méthode HTTP + CONNECT. Cette méthode est principalement utilisée pour + le franchissement des serveurs mandataires par les requêtes SSL à l'aide + d'un tunnel.

+ +

Ainsi, pour pouvoir traiter les requêtes CONNECT, + mod_proxy et mod_proxy_connect + doivent être chargés dans le serveur.

+ +

CONNECT est aussi utilisée lorsque le serveur doit envoyer une + requête HTTPS via un mandataire. Dans ce cas, le serveur se comporte + comme un client CONNECT. Cette fonctionnalité étant fournie par le + module mod_proxy, le module + mod_proxy_connect n'est dans ce cas pas nécessaire.

+ +

Avertissement

+

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

+
+
+ +
top
+
+

Informations sur les requêtes

+

mod_proxy_connect enregistre les informations + suivantes pour journalisation via le format %{NOMVAR}n + dans les directives LogFormat ou ErrorLogFormat : +

+
+
proxy-source-port
+
Le port local utilisé pour la connexion vers le serveur + d'arrière-plan.
+
+ +

Les requêtes avec méthode CONNECT sont traitées dans les sections + Proxy au même titre que + toute autre requête HTTP qui passe par cette même section. Il est + possible de filtrer explicitement les connexions SSL à travers un + mandataire en spécifiant les nom d'hôte et port cible comme suit : +

+ +
<Proxy www.example.com:443>
+  Require ip 192.168.0.0/16
+</Proxy>
+ +
+
top
+

Directive AllowCONNECT

+ + + + + + + + +
Description:Ports autorisés à se CONNECTer à travers le +mandataire
Syntaxe:AllowCONNECT port[-port] +[port[-port]] ...
Défaut:AllowCONNECT 443 563
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_proxy_connect
Compatibilité:Déplacé depuis mod_proxy à partir +d'Apache 2.3.5. Tranches de ports disponibles depuis Apache 2.3.7.
+

La directive AllowCONNECT permet de + spécifier une liste de numéros ou de tranches de ports auxquels la + méthode de mandataire CONNECT pourra se connecter. Les + navigateurs d'aujourd'hui utilisent cette méthode dans le cas où une + connexion https est requise et où le tunneling + mandataire sur HTTP est en service.

+ +

Par défaut, seuls les ports par défauts https (443) + et snews (563) sont pris en compte. Vous pouvez + utiliser la directive AllowCONNECT pour + outrepasser ces valeurs par défaut et n'autoriser les connexions que + vers les ports spécifiés.

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_connect.xml.fr b/docs/manual/mod/mod_proxy_connect.xml.fr new file mode 100644 index 0000000000..06f08c8e86 --- /dev/null +++ b/docs/manual/mod/mod_proxy_connect.xml.fr @@ -0,0 +1,116 @@ + + + + + + + + + + + +mod_proxy_connect +Extension de mod_proxy pour le traitement +des requêtes CONNECT +Extension +mod_proxy_connect.c +proxy_connect_module + + +

Pour fonctionner, ce module nécessite le chargement de + mod_proxy. Il fournit le support de la méthode HTTP + CONNECT. Cette méthode est principalement utilisée pour + le franchissement des serveurs mandataires par les requêtes SSL à l'aide + d'un tunnel.

+ +

Ainsi, pour pouvoir traiter les requêtes CONNECT, + mod_proxy et mod_proxy_connect + doivent être chargés dans le serveur.

+ +

CONNECT est aussi utilisée lorsque le serveur doit envoyer une + requête HTTPS via un mandataire. Dans ce cas, le serveur se comporte + comme un client CONNECT. Cette fonctionnalité étant fournie par le + module mod_proxy, le module + mod_proxy_connect n'est dans ce cas pas nécessaire.

+ + Avertissement +

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

+
+
+mod_proxy + +
Informations sur les requêtes +

mod_proxy_connect enregistre les informations + suivantes pour journalisation via le format %{NOMVAR}n + dans les directives LogFormat ou ErrorLogFormat : +

+
+
proxy-source-port
+
Le port local utilisé pour la connexion vers le serveur + d'arrière-plan.
+
+ +

Les requêtes avec méthode CONNECT sont traitées dans les sections + Proxy au même titre que + toute autre requête HTTP qui passe par cette même section. Il est + possible de filtrer explicitement les connexions SSL à travers un + mandataire en spécifiant les nom d'hôte et port cible comme suit : +

+ + +<Proxy www.example.com:443> + Require ip 192.168.0.0/16 +</Proxy> + +
+ + +AllowCONNECT +Ports autorisés à se CONNECTer à travers le +mandataire +AllowCONNECT port[-port] +[port[-port]] ... +AllowCONNECT 443 563 +server configvirtual host + +Déplacé depuis mod_proxy à partir +d'Apache 2.3.5. Tranches de ports disponibles depuis Apache 2.3.7. + + +

La directive AllowCONNECT permet de + spécifier une liste de numéros ou de tranches de ports auxquels la + méthode de mandataire CONNECT pourra se connecter. Les + navigateurs d'aujourd'hui utilisent cette méthode dans le cas où une + connexion https est requise et où le tunneling + mandataire sur HTTP est en service.

+ +

Par défaut, seuls les ports par défauts https (443) + et snews (563) sont pris en compte. Vous pouvez + utiliser la directive AllowCONNECT pour + outrepasser ces valeurs par défaut et n'autoriser les connexions que + vers les ports spécifiés.

+
+
+ + +
diff --git a/docs/manual/mod/mod_proxy_connect.xml.meta b/docs/manual/mod/mod_proxy_connect.xml.meta index dcc3b7c1a6..ec8faadc6f 100644 --- a/docs/manual/mod/mod_proxy_connect.xml.meta +++ b/docs/manual/mod/mod_proxy_connect.xml.meta @@ -8,6 +8,7 @@ en + fr ja diff --git a/docs/manual/mod/mod_proxy_express.html b/docs/manual/mod/mod_proxy_express.html index 28ca0cd65a..1afc99c1c7 100644 --- a/docs/manual/mod/mod_proxy_express.html +++ b/docs/manual/mod/mod_proxy_express.html @@ -3,3 +3,7 @@ URI: mod_proxy_express.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_express.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_express.html.fr b/docs/manual/mod/mod_proxy_express.html.fr new file mode 100644 index 0000000000..156966630f --- /dev/null +++ b/docs/manual/mod/mod_proxy_express.html.fr @@ -0,0 +1,208 @@ + + + + + +mod_proxy_express - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_express

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Extension à mod_proxy pour le mandatement +dynamique inverse de masse
Statut:Extension
Identificateur de Module:proxy_express_module
Fichier Source:mod_proxy_express.c
+

Sommaire

+ +

Ce module crée dynamiquement en masse des mandataires inverses en + faisant correspondre l'en-tête Host: de la requête HTTP à un nom de + serveur et une URL d'arrière-plan stockés dans un fichier DBM. Il + est ainsi plus aisé d'utiliser un grand nombre de + mandataires inverses sans avoir à modifier la configuration. Il est + loin de posséder autant de fonctionnalités que + mod_proxy_balancer qui propose aussi la croissance + dynamique, mais il est conçu pour gérer un nombre beaucoup plus important + de serveurs d'arrière-plan. Il convient parfaitement pour créer un + commutateur HTTP frontal et pour les architectures Microservices.

+ +

Pour pouvoir être utilisé, ce module nécessite le chargement de + mod_proxy.

+ +

Avertissement

+

N'activez le mandatement que si vous avez sécurisé votre serveur. Les + serveurs mandataires ouverts sont dangereux pour votre réseau, et + dans une plus large mesure pour Internet.

+
+ +

Limitations

+
    +
  • Ce module n'est pas conçu pour remplacer les fonctionnalités + dynamiques de mod_proxy_balancer. Par contre, il + peut constituer une alternative légère et rapide à + mod_rewrite lorsque ce dernier utilise la directive + RewriteMap et le drapeau [P] + pour le mandatement inverse à partir d'une table de correspondances. +
  • +
  • Il ne supporte pas les mises en correspondance basées sur les + expressions rationnelles ou les modèles. +
  • +
  • Il émule : +
    <VirtualHost *:80>
    +   ServerName front.end.server
    +   ProxyPass "/" "back.end.server:port"
    +   ProxyPassReverse "/" "back.end.server:port"
    +</VirtualHost>
    + + En d'autres termes, l'URL dans son ensemble est ajoutée à l'URL + d'arrière-plan correspondante, tout ceci dans le but de + proposer un commutateur mandataire inverse simple mais rapide. +
  • +
+
+ +
+ + +
top
+

Directive ProxyExpressDBMFile

+ + + + + + + + +
Description:Chemin du fichier DBM.
Syntaxe:ProxyExpressDBMFile <chemin>
Défaut:None
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_proxy_express
Compatibilité:Disponible à partir de la version 2.3.13 d'Apache
+

La directive ProxyExpressDBMFile permet de + définir le chemin du fichier DBM de correspondance Express. Ce fichier + permet de faire correspondre le nom de serveur extrait de l'en-tête + Host: de la requête entrante avec une URL d'arrière-plan.

+ +

Note

+

Ce fichier est élaboré à partir d'un fichier texte à l'aide de + l'utilitaire httxt2dbm.

+ +

Fichier de correspondances ProxyExpress

+ ##
+ ##express-map.txt:
+ ##
+
+ www1.example.com http://192.168.211.2:8080
+ www2.example.com http://192.168.211.12:8088
+ www3.example.com http://192.168.212.10
+

+ +

Création du fichier DBM

+ httxt2dbm -i express-map.txt -o emap
+

+ +

Configuration

+ ProxyExpressEnable on
+ ProxyExpressDBMFile emap
+

+
+ +
+
top
+

Directive ProxyExpressDBMType

+ + + + + + + + +
Description:Type de fichier DBM.
Syntaxe:ProxyExpressDBMFile <type>
Défaut:"default"
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_proxy_express
Compatibilité:Disponible à partir de la version 2.3.13 d'Apache
+

La directive ProxyExpressDBMType permet de + définir le type de fichier DBM requis par le module. La valeur par + défaut correspond au type DBM par défaut du fichier créé par + l'utilitaire httxt2dbm.

+

Les valeurs possibles sont (mais toutes ne seront pas disponibles à + l'exécution) :

+ + + + + + +
ValueDescription
dbFichiers Berkeley DB
gdbmFichiers GDBM
ndbmFichiers NDBM
sdbmFichiers SDBM (toujours disponible)
defaulttype DBM par défaut
+ + +
+
top
+

Directive ProxyExpressEnable

+ + + + + + + + +
Description:Active la fonctionnalité du module.
Syntaxe:ProxyExpressEnable [on|off]
Défaut:off
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_proxy_express
Compatibilité:Disponible à partir de la version 2.3.13 d'Apache
+

La directive ProxyExpressEnable permet + d'activer/désactiver le module.

+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_express.xml.fr b/docs/manual/mod/mod_proxy_express.xml.fr new file mode 100644 index 0000000000..98244270dd --- /dev/null +++ b/docs/manual/mod/mod_proxy_express.xml.fr @@ -0,0 +1,174 @@ + + + + + + + + + + + +mod_proxy_express +Extension à mod_proxy pour le mandatement +dynamique inverse de masse +Extension +mod_proxy_express.c +proxy_express_module + + +

Ce module crée dynamiquement en masse des mandataires inverses en + faisant correspondre l'en-tête Host: de la requête HTTP à un nom de + serveur et une URL d'arrière-plan stockés dans un fichier DBM. Il + est ainsi plus aisé d'utiliser un grand nombre de + mandataires inverses sans avoir à modifier la configuration. Il est + loin de posséder autant de fonctionnalités que + mod_proxy_balancer qui propose aussi la croissance + dynamique, mais il est conçu pour gérer un nombre beaucoup plus important + de serveurs d'arrière-plan. Il convient parfaitement pour créer un + commutateur HTTP frontal et pour les architectures Microservices.

+ +

Pour pouvoir être utilisé, ce module nécessite le chargement de + mod_proxy.

+ + Avertissement +

N'activez le mandatement que si vous avez sécurisé votre serveur. Les + serveurs mandataires ouverts sont dangereux pour votre réseau, et + dans une plus large mesure pour Internet.

+
+ +Limitations +
    +
  • Ce module n'est pas conçu pour remplacer les fonctionnalités + dynamiques de mod_proxy_balancer. Par contre, il + peut constituer une alternative légère et rapide à + mod_rewrite lorsque ce dernier utilise la directive + RewriteMap et le drapeau [P] + pour le mandatement inverse à partir d'une table de correspondances. +
  • +
  • Il ne supporte pas les mises en correspondance basées sur les + expressions rationnelles ou les modèles. +
  • +
  • Il émule : + +<VirtualHost *:80> + ServerName front.end.server + ProxyPass "/" "back.end.server:port" + ProxyPassReverse "/" "back.end.server:port" +</VirtualHost> + + En d'autres termes, l'URL dans son ensemble est ajoutée à l'URL + d'arrière-plan correspondante, tout ceci dans le but de + proposer un commutateur mandataire inverse simple mais rapide. +
  • +
+
+ +
+mod_proxy + + +ProxyExpressEnable +Active la fonctionnalité du module. +ProxyExpressEnable [on|off] +off +server configvirtual host + +Disponible à partir de la version 2.3.13 d'Apache + + +

La directive ProxyExpressEnable permet + d'activer/désactiver le module.

+
+
+ + +ProxyExpressDBMFile +Chemin du fichier DBM. +ProxyExpressDBMFile <chemin> +None +server configvirtual host + +Disponible à partir de la version 2.3.13 d'Apache + + +

La directive ProxyExpressDBMFile permet de + définir le chemin du fichier DBM de correspondance Express. Ce fichier + permet de faire correspondre le nom de serveur extrait de l'en-tête + Host: de la requête entrante avec une URL d'arrière-plan.

+ + Note +

Ce fichier est élaboré à partir d'un fichier texte à l'aide de + l'utilitaire httxt2dbm.

+ + Fichier de correspondances ProxyExpress + ##
+ ##express-map.txt:
+ ##
+
+ www1.example.com http://192.168.211.2:8080
+ www2.example.com http://192.168.211.12:8088
+ www3.example.com http://192.168.212.10
+
+ + Création du fichier DBM + httxt2dbm -i express-map.txt -o emap
+
+ + Configuration + ProxyExpressEnable on
+ ProxyExpressDBMFile emap
+
+
+
+
+ + +ProxyExpressDBMType +Type de fichier DBM. +ProxyExpressDBMFile <type> +"default" +server configvirtual host + +Disponible à partir de la version 2.3.13 d'Apache + + +

La directive ProxyExpressDBMType permet de + définir le type de fichier DBM requis par le module. La valeur par + défaut correspond au type DBM par défaut du fichier créé par + l'utilitaire httxt2dbm.

+

Les valeurs possibles sont (mais toutes ne seront pas disponibles à + l'exécution) :

+ + + + + + + + + +
ValueDescription
dbFichiers Berkeley DB
gdbmFichiers GDBM
ndbmFichiers NDBM
sdbmFichiers SDBM (toujours disponible)
defaulttype DBM par défaut
+ +
+
+ +
diff --git a/docs/manual/mod/mod_proxy_express.xml.meta b/docs/manual/mod/mod_proxy_express.xml.meta index a0a06bf7e9..4fda85c3b0 100644 --- a/docs/manual/mod/mod_proxy_express.xml.meta +++ b/docs/manual/mod/mod_proxy_express.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_proxy_fcgi.html b/docs/manual/mod/mod_proxy_fcgi.html index 037143a41d..cc4f061ede 100644 --- a/docs/manual/mod/mod_proxy_fcgi.html +++ b/docs/manual/mod/mod_proxy_fcgi.html @@ -3,3 +3,7 @@ URI: mod_proxy_fcgi.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_fcgi.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_fcgi.html.fr b/docs/manual/mod/mod_proxy_fcgi.html.fr new file mode 100644 index 0000000000..0cbc7c286c --- /dev/null +++ b/docs/manual/mod/mod_proxy_fcgi.html.fr @@ -0,0 +1,263 @@ + + + + + +mod_proxy_fcgi - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_fcgi

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Module fournissant le support de FastCGI à +mod_proxy
Statut:Extension
Identificateur de Module:proxy_fcgi_module
Fichier Source:mod_proxy_fcgi.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Pour fonctionner, ce module nécessite le chargement de + mod_proxy. Il fournit le support du protocole FastCGI.

+ +

Ainsi, pour pouvoir traiter le protocole FastCGI, + mod_proxy et mod_proxy_fcgi + doivent être chargés dans le serveur.

+ +

A la différence de mod_fcgid et mod_fastcgi, + mod_proxy_fcgi n'est pas en mesure de démarrer le + processus de l'application ; fcgistarter est + fourni à cet effet sur certaines plateformes. Le framework + applicatif FastCGI utilisé peut aussi fournir la gestion des + processus ou des lancements de programmes externes.

+ +

Avertissement

+

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

+
+
+ +
top
+
+

Exemples

+

Pour que ces exemples fonctionnent, vous ne devez pas oublier + d'activer mod_proxy et + mod_proxy_fcgi.

+ +

Instance d'application unique

ProxyPass "/mon_appli/" "fcgi://localhost:4000/"
+
+ + +

mod_proxy_fcgi interdisant par défaut la + réutilisation des connexions, lorsqu'une requête a été traitée, la + connexion ne sera pas maintenue ouverte par le processus enfant + httpd, et ne sera donc pas réutilisée. Cependant, si l'application + FastCGI supporte les connexions httpd simultanées, vous pouvez opter + pour la réutilisation des connexions comme dans l'exemple suivant :

+ +

Instance d'application unique, réutilisation + des connexions (versions 2.4.11 et supérieures)

ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on
+
+ +

Dans l'exemple suivant, l'URI de la requête est transmis en tant + que chemin du système de fichiers pour l'exécution du démon PHP-FPM. + L'URL de la requête est implicitement ajoutée au second paramètre. + PHP-FPM est à l'écoute de l'hôte et du port qui + suivent fcgi://. La conservation des connexions est activée.

+

PHP-FPM

ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on
+
+ +

Dans l'exemple suivant, l'URI de la requête est transmis en tant + que chemin du système de fichiers pour l'exécution du démon PHP-FPM. + Dans ce cas cependant, PHP-FPM est à l'écoute d'un socket de domaine + unix (UDS). Cette fonctionnalité est disponible à partir de la + version 2.4.9. Avec cette syntaxe, si un nom d'hôte et un port sont + ajoutés après fcgi://, ils seront ignorés.

+

PHP-FPM with UDS

# A ce jour, UDS ne supporte pas la réutilisation des connexions
+ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"
+
+ +

La passerelle à répartition de charge nécessite le chargement du + module mod_proxy_balancer et d'au moins un module + fournissant un algorithme de répartition de charge, comme + mod_lbmethod_byrequests en plus des modules + déjà cités. mod_lbmethod_byrequests est le module + par défaut et sera utilisé dans cet exemple de configuration.

+ +

Passerelle à répartition de charge vers plusieurs + instances de l'application

ProxyPass "/myapp/" "balancer://myappcluster/"
+<Proxy "balancer://myappcluster/">
+    BalancerMember "fcgi://localhost:4000"
+    BalancerMember "fcgi://localhost:4001"
+</Proxy>
+
+ +

Vous pouvez aussi forcer le traitement d'une requête en tant que + requête de mandataire inverse en créant un court-circuiteur de + gestionnaire approprié. Dans l'exemple ci-dessous, toutes les + requêtes pour des scripts PHP seront transmises au serveur FastCGI + spécifié par mandat inverse. Cette fonctionnalité est disponible à + partir de la version 2.4.10 du serveur HTTP Apache. Pour des raisons + de performances, il est recommandé de définir un worker (configuration d'un + mandataire) représentant le même serveur fcgi:// d'arrière-plan. + Avec cette configuration, il est possible d'effectuer une + correspondance directe entre l'URI et le chemin du fichier sur le + serveur, et le chemin local du fichier sera alors transmis au serveur + d'arrière-plan. Lorsque FastCGI est configuré ainsi, le serveur est + en mesure de calculer le PATH_INFO le plus approprié. +

+

Mandataire via un gestionnaire

<FilesMatch "\.php$">
+    # Note : la seule partie variable est /path/to/app.sock
+    SetHandler  "proxy:unix:/path/to/app.sock|fcgi://localhost/"
+</FilesMatch>
+   # Définition d'une configuration de mandataire qui convient.
+   # La partie qui est mise en correspondance avec la valeur de
+   # SetHandler est la partie qui suit le "pipe". Si vous devez faire
+   # une distinction, "localhost" peut être changé en un nom de serveur
+   # unique.
+   <Proxy fcgi://localhost/ enablereuse=on max=10>
+   </Proxy>
+
+<FilesMatch ...>
+    SetHandler  "proxy:fcgi://localhost:9000"
+</FilesMatch>
+
+<FilesMatch ...>
+    SetHandler  "proxy:balancer://myappcluster/"
+</FilesMatch>
+
+
top
+
+

Variables d'environnement

+

En plus des directives de configuration qui contrôlent le + comportement de mod_proxy, de nombreuses + variables d'environnement permettent de piloter le + fournisseur du protocole FCGI :

+
+
proxy-fcgi-pathinfo
+
Par défaut, mod_proxy_fcgi ne créera jamais + ni n'exportera la variable d'environnement PATH_INFO, + ce qui permet au serveur FCGI d'arrière-plan de déterminer + correctement SCRIPT_NAME et Script-URI, et + de se conformer à la section 3.3 de la RFC 3875. Si au contraire + vous avez souhaitez que mod_proxy_fcgi génère une + "estimation la plus exacte possible" de PATH_INFO, + définissez la variable d'environnement + proxy-fcgi-pathinfo. Ceci peut servir de + contournement pour une bogue présente dans certaines + implémentations de FCGI. Cette variable peut être + multivaluée afin de pouvoir choisir la valeur la plus appropriée + (versions 2.4.11 et supérieures) : +
+
first-dot
+
PATH_INFO est extrait à partir du slash qui suit le + premier "." de l'URL.
+
last-dot
+
PATH_INFO est extrait à partir du slash qui suit le + dernier "." de l'URL.
+
full
+
PATH_INFO est calculé en supposant que l'URL correspond au + chemin du système de fichiers.
+
unescape
+
PATH_INFO correspond à la partie chemin de l'URL avec ses + séquences d'échappement décodées.
+
toute autre valeur
+
PATH_INFO correspond à la partie chemin de l'URL. + Auparavant, c'était la seule option pour proxy-fcgi-pathinfo.
+
+
+
+
+
top
+

Directive ProxyFCGIBackendType

+ + + + + + + + +
Description:Spécifie le type de l'application FastCGI d'arrière-plan
Syntaxe:ProxyFCGIBackendType FPM|GENERIC
Défaut:ProxyFCGIBackendType FPM
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_proxy_fcgi
Compatibilité:Disponible à partir de la version 2.5 du serveur HTTP Apache
+

Cette directive permet de spécifier le type de l'application FastCGI +d'arrière-plan. Certains serveurs FastCGI, comme PHP-FPM, utilisent de manière +historique des variables d'environnement exotiques pour identifier le type du +serveur mandataire utilisé. Définissez cette directive à "GENERIC" si votre +application n'est pas de type PHP-FPM et n'interpréter pas correctement des +variables d'environnement comme SCRIPT_FILENAME ou PATH_TRANSLATED telles +qu'elles sont définies par le serveur.

+ +

SCRIPT_FILENAME est un exemple de valeur modifiée par la définition de cette +directive. Historiquement, lorsqu'on utilisait le module +mod_proxy_fcgi, SCRIPT_FILENAME était préfixé par la chaîne +"proxy:fcgi://". C'est cette variable que lisent certaines applications FastCGI +génériques en tant que valeur en entrée pour leur script ; cependant, PHP-FPM +peut supprimer le préfixe, puis garder en mémoire qu'il communique avec Apache. +Avec les versions 2.4.21 à 2.4.25, ce préfixe était automatiquement supprimé par +le serveur, empêchant ainsi PHP-FPM de détecter et interopérer avec Apache dans +certains scénarios.

+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fcgi.xml.fr b/docs/manual/mod/mod_proxy_fcgi.xml.fr new file mode 100644 index 0000000000..58a02154fa --- /dev/null +++ b/docs/manual/mod/mod_proxy_fcgi.xml.fr @@ -0,0 +1,245 @@ + + + + + + + + + + + +mod_proxy_fcgi +Module fournissant le support de FastCGI à +mod_proxy +Extension +mod_proxy_fcgi.c +proxy_fcgi_module +Disponible depuis la version 2.3 d'Apache + + +

Pour fonctionner, ce module nécessite le chargement de + mod_proxy. Il fournit le support du protocole FastCGI.

+ +

Ainsi, pour pouvoir traiter le protocole FastCGI, + mod_proxy et mod_proxy_fcgi + doivent être chargés dans le serveur.

+ +

A la différence de mod_fcgid et mod_fastcgi, + mod_proxy_fcgi n'est pas en mesure de démarrer le + processus de l'application ; fcgistarter est + fourni à cet effet sur certaines plateformes. Le framework + applicatif FastCGI utilisé peut aussi fournir la gestion des + processus ou des lancements de programmes externes.

+ + Avertissement +

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

+
+
+ +fcgistarter +mod_proxy +mod_authnz_fcgi + +
Exemples +

Pour que ces exemples fonctionnent, vous ne devez pas oublier + d'activer mod_proxy et + mod_proxy_fcgi.

+ + Instance d'application unique + +ProxyPass "/mon_appli/" "fcgi://localhost:4000/" + + + + +

mod_proxy_fcgi interdisant par défaut la + réutilisation des connexions, lorsqu'une requête a été traitée, la + connexion ne sera pas maintenue ouverte par le processus enfant + httpd, et ne sera donc pas réutilisée. Cependant, si l'application + FastCGI supporte les connexions httpd simultanées, vous pouvez opter + pour la réutilisation des connexions comme dans l'exemple suivant :

+ + Instance d'application unique, réutilisation + des connexions (versions 2.4.11 et supérieures) + + ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on + + + +

Dans l'exemple suivant, l'URI de la requête est transmis en tant + que chemin du système de fichiers pour l'exécution du démon PHP-FPM. + L'URL de la requête est implicitement ajoutée au second paramètre. + PHP-FPM est à l'écoute de l'hôte et du port qui + suivent fcgi://. La conservation des connexions est activée.

+ PHP-FPM + +ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on + + + +

Dans l'exemple suivant, l'URI de la requête est transmis en tant + que chemin du système de fichiers pour l'exécution du démon PHP-FPM. + Dans ce cas cependant, PHP-FPM est à l'écoute d'un socket de domaine + unix (UDS). Cette fonctionnalité est disponible à partir de la + version 2.4.9. Avec cette syntaxe, si un nom d'hôte et un port sont + ajoutés après fcgi://, ils seront ignorés.

+ PHP-FPM with UDS + +# A ce jour, UDS ne supporte pas la réutilisation des connexions +ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/" + + + +

La passerelle à répartition de charge nécessite le chargement du + module mod_proxy_balancer et d'au moins un module + fournissant un algorithme de répartition de charge, comme + mod_lbmethod_byrequests en plus des modules + déjà cités. mod_lbmethod_byrequests est le module + par défaut et sera utilisé dans cet exemple de configuration.

+ + Passerelle à répartition de charge vers plusieurs + instances de l'application + +ProxyPass "/myapp/" "balancer://myappcluster/" +<Proxy "balancer://myappcluster/"> + BalancerMember "fcgi://localhost:4000" + BalancerMember "fcgi://localhost:4001" +</Proxy> + + + +

Vous pouvez aussi forcer le traitement d'une requête en tant que + requête de mandataire inverse en créant un court-circuiteur de + gestionnaire approprié. Dans l'exemple ci-dessous, toutes les + requêtes pour des scripts PHP seront transmises au serveur FastCGI + spécifié par mandat inverse. Cette fonctionnalité est disponible à + partir de la version 2.4.10 du serveur HTTP Apache. Pour des raisons + de performances, il est recommandé de définir un worker (configuration d'un + mandataire) représentant le même serveur fcgi:// d'arrière-plan. + Avec cette configuration, il est possible d'effectuer une + correspondance directe entre l'URI et le chemin du fichier sur le + serveur, et le chemin local du fichier sera alors transmis au serveur + d'arrière-plan. Lorsque FastCGI est configuré ainsi, le serveur est + en mesure de calculer le PATH_INFO le plus approprié. +

+ Mandataire via un gestionnaire + +<FilesMatch "\.php$"> + # Note : la seule partie variable est /path/to/app.sock + SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/" +</FilesMatch> + # Définition d'une configuration de mandataire qui convient. + # La partie qui est mise en correspondance avec la valeur de + # SetHandler est la partie qui suit le "pipe". Si vous devez faire + # une distinction, "localhost" peut être changé en un nom de serveur + # unique. + <Proxy fcgi://localhost/ enablereuse=on max=10> + </Proxy> + +<FilesMatch ...> + SetHandler "proxy:fcgi://localhost:9000" +</FilesMatch> + +<FilesMatch ...> + SetHandler "proxy:balancer://myappcluster/" +</FilesMatch> + + +
+ +
Variables d'environnement +

En plus des directives de configuration qui contrôlent le + comportement de mod_proxy, de nombreuses + variables d'environnement permettent de piloter le + fournisseur du protocole FCGI :

+
+
proxy-fcgi-pathinfo
+
Par défaut, mod_proxy_fcgi ne créera jamais + ni n'exportera la variable d'environnement PATH_INFO, + ce qui permet au serveur FCGI d'arrière-plan de déterminer + correctement SCRIPT_NAME et Script-URI, et + de se conformer à la section 3.3 de la RFC 3875. Si au contraire + vous avez souhaitez que mod_proxy_fcgi génère une + "estimation la plus exacte possible" de PATH_INFO, + définissez la variable d'environnement + proxy-fcgi-pathinfo. Ceci peut servir de + contournement pour une bogue présente dans certaines + implémentations de FCGI. Cette variable peut être + multivaluée afin de pouvoir choisir la valeur la plus appropriée + (versions 2.4.11 et supérieures) : +
+
first-dot
+
PATH_INFO est extrait à partir du slash qui suit le + premier "." de l'URL.
+
last-dot
+
PATH_INFO est extrait à partir du slash qui suit le + dernier "." de l'URL.
+
full
+
PATH_INFO est calculé en supposant que l'URL correspond au + chemin du système de fichiers.
+
unescape
+
PATH_INFO correspond à la partie chemin de l'URL avec ses + séquences d'échappement décodées.
+
toute autre valeur
+
PATH_INFO correspond à la partie chemin de l'URL. + Auparavant, c'était la seule option pour proxy-fcgi-pathinfo.
+
+
+
+
+ + +ProxyFCGIBackendType +Spécifie le type de l'application FastCGI d'arrière-plan +ProxyFCGIBackendType FPM|GENERIC +ProxyFCGIBackendType FPM +server config +virtual hostdirectory +.htaccess +Disponible à partir de la version 2.5 du serveur HTTP Apache + + +

Cette directive permet de spécifier le type de l'application FastCGI +d'arrière-plan. Certains serveurs FastCGI, comme PHP-FPM, utilisent de manière +historique des variables d'environnement exotiques pour identifier le type du +serveur mandataire utilisé. Définissez cette directive à "GENERIC" si votre +application n'est pas de type PHP-FPM et n'interpréter pas correctement des +variables d'environnement comme SCRIPT_FILENAME ou PATH_TRANSLATED telles +qu'elles sont définies par le serveur.

+ +

SCRIPT_FILENAME est un exemple de valeur modifiée par la définition de cette +directive. Historiquement, lorsqu'on utilisait le module +mod_proxy_fcgi, SCRIPT_FILENAME était préfixé par la chaîne +"proxy:fcgi://". C'est cette variable que lisent certaines applications FastCGI +génériques en tant que valeur en entrée pour leur script ; cependant, PHP-FPM +peut supprimer le préfixe, puis garder en mémoire qu'il communique avec Apache. +Avec les versions 2.4.21 à 2.4.25, ce préfixe était automatiquement supprimé par +le serveur, empêchant ainsi PHP-FPM de détecter et interopérer avec Apache dans +certains scénarios.

+
+
+ +
diff --git a/docs/manual/mod/mod_proxy_fcgi.xml.meta b/docs/manual/mod/mod_proxy_fcgi.xml.meta index 76863e3836..6b7f40e715 100644 --- a/docs/manual/mod/mod_proxy_fcgi.xml.meta +++ b/docs/manual/mod/mod_proxy_fcgi.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_proxy_fdpass.html b/docs/manual/mod/mod_proxy_fdpass.html index b660e02764..87478ac85d 100644 --- a/docs/manual/mod/mod_proxy_fdpass.html +++ b/docs/manual/mod/mod_proxy_fdpass.html @@ -3,3 +3,7 @@ URI: mod_proxy_fdpass.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_fdpass.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_fdpass.html.fr b/docs/manual/mod/mod_proxy_fdpass.html.fr new file mode 100644 index 0000000000..4b09236e43 --- /dev/null +++ b/docs/manual/mod/mod_proxy_fdpass.html.fr @@ -0,0 +1,104 @@ + + + + + +mod_proxy_fdpass - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_fdpass

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Module fournissant le support des processus externes fdpass +à mod_proxy
Statut:Extension
Identificateur de Module:proxy_fdpass_module
Fichier Source:mod_proxy_fdpass.c
Compatibilité:Disponible pour unix depuis la version 2.3 +du serveur HTTP Apache
+

Sommaire

+ +

Pour fonctionner, ce module nécessite le chargement de + mod_proxy. Il permet le passage du socket du client + vers un autre processus.

+ +

mod_proxy_fdpass utilise la capacité des sockets de + domaine AF_UNIX à transmettre un + descripteur de fichier ouvert afin de permettre à un autre + processus de terminer le traitement de la requête. +

+ +

Le module possède une interface de fournisseur + proxy_fdpass_flusher qui permet éventuellement à un + autre module d'envoyer les en-têtes de la réponse, ou même le début + du corps de la réponse. Le fournisseur par défaut flush désactive la + persistence, et envoie les en-têtes de la réponse, laissant le soin + au processus externe d'envoyer le corps de la réponse.

+ +

Pour utiliser un autre fournisseur, vous devez définir le paramètre + flusher de la directive ProxyPass. +

+ +

A l'heure actuelle, la seule donnée transmise au processus + externe est le socket du client. Pour recevoir un socket client, + appelez recvfrom avec une structure struct cmsghdr allouée. Les versions + futures de ce module pourront transmettre d'autres données que le + socket client. +

+
+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_fdpass.xml.fr b/docs/manual/mod/mod_proxy_fdpass.xml.fr new file mode 100644 index 0000000000..e085d1c5ef --- /dev/null +++ b/docs/manual/mod/mod_proxy_fdpass.xml.fr @@ -0,0 +1,71 @@ + + + + + + + + + + + +mod_proxy_fdpass +Module fournissant le support des processus externes fdpass +à mod_proxy +Extension +mod_proxy_fdpass.c +proxy_fdpass_module +Disponible pour unix depuis la version 2.3 +du serveur HTTP Apache + + +

Pour fonctionner, ce module nécessite le chargement de + mod_proxy. Il permet le passage du socket du client + vers un autre processus.

+ +

mod_proxy_fdpass utilise la capacité des sockets de + domaine AF_UNIX à transmettre un + descripteur de fichier ouvert afin de permettre à un autre + processus de terminer le traitement de la requête. +

+ +

Le module possède une interface de fournisseur + proxy_fdpass_flusher qui permet éventuellement à un + autre module d'envoyer les en-têtes de la réponse, ou même le début + du corps de la réponse. Le fournisseur par défaut flush désactive la + persistence, et envoie les en-têtes de la réponse, laissant le soin + au processus externe d'envoyer le corps de la réponse.

+ +

Pour utiliser un autre fournisseur, vous devez définir le paramètre + flusher de la directive ProxyPass. +

+ +

A l'heure actuelle, la seule donnée transmise au processus + externe est le socket du client. Pour recevoir un socket client, + appelez recvfrom avec une structure struct cmsghdr allouée. Les versions + futures de ce module pourront transmettre d'autres données que le + socket client. +

+
+ +mod_proxy +
diff --git a/docs/manual/mod/mod_proxy_fdpass.xml.meta b/docs/manual/mod/mod_proxy_fdpass.xml.meta index a88dd48420..a99a7942b5 100644 --- a/docs/manual/mod/mod_proxy_fdpass.xml.meta +++ b/docs/manual/mod/mod_proxy_fdpass.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_proxy_ftp.html b/docs/manual/mod/mod_proxy_ftp.html index 0cdfe603aa..928eb93ef8 100644 --- a/docs/manual/mod/mod_proxy_ftp.html +++ b/docs/manual/mod/mod_proxy_ftp.html @@ -3,3 +3,7 @@ URI: mod_proxy_ftp.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_ftp.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_ftp.html.fr b/docs/manual/mod/mod_proxy_ftp.html.fr new file mode 100644 index 0000000000..b8f15af347 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ftp.html.fr @@ -0,0 +1,296 @@ + + + + + +mod_proxy_ftp - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_ftp

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Module fournissant le support FTP à +mod_proxy
Statut:Extension
Identificateur de Module:proxy_ftp_module
Fichier Source:mod_proxy_ftp.c
+

Sommaire

+ +

Pour pouvoir fonctionner, ce module requiert le + chargement de mod_proxy. Il fournit le support du + mandatement des sites FTP. Notez que le support FTP est + actuellement limité à la méthode GET.

+ +

Ainsi, pour pouvoir traiter les requêtes FTP mandatées, + mod_proxy, et mod_proxy_ftp + doivent être chargés dans le serveur.

+ +

Avertissement

+

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

+
+
+ +
top
+
+

Pourquoi les fichiers du type + xxx ne sont-ils pas téléchargeables par FTP ?

+

Ce type particulier de fichier n'est probablement pas défini en + temps que application/octet-stream dans le fichier + de configuration mime.types de votre mandataire. La ligne suivante + peut y remédier :

+ +
application/octet-stream   bin dms lha lzh exe class tgz taz
+

Vous pouvez aussi définir par défaut tous les types de fichiers + en tant que fichiers binaires :

+
ForceType application/octet-stream
+
+
top
+
+

Comment puis-je forcer le téléchargement + FTP en mode ASCII du fichier xxx ?

+

Dans les rares siruations où vous devez télécharger un fichier + spécifique en utilisant la méthode de transfert FTP + ASCII (alors que le mode transfert par défaut est + binary), vous pouvez modifier le mode de transfert de + mod_proxy en suffixant la requête avec + ;type=a pour forcer un transfert en mode ASCII (les + listings de répertoires FTP sont cependant quant à eux transmis en + mode ASCII).

+
top
+
+

Comment puis-je effectuer un + chargement FTP ?

+

Actuellement, seule la méthode GET est supportée pour FTP dans + mod_proxy. Vous pouvez par contre utiliser le chargement HTTP (POST + or PUT) via un mandataire Apache.

+
top
+
+

Comment puis-je accéder par FTP à + des fichiers situés en dehors de mon répertoire home ?

+

Un URI FTP est considéré comme relatif au répertoire home de + l'utilisateur connecté. Hélas, vous ne pouvez pas utiliser /../ + pour atteindre des répertoires de niveau supérieur, car les points + sont interprétés par le navigateur et ne sont donc pas vraiment + envoyés au serveur FTP. Pour traiter ce problème, une méthode + nommée Squid %2f hack a été implémentée dans le + mandataire FTP Apache ; cette solution est aussi utilisée par + d'autres serveurs mandataires courants comme le Cache mandataire Squid. En + préfixant par /%2f le chemin de votre requête, vous + pouvez faire en sorte que le mandataire modifie le répertoire FTP + racine en / (au lieu du répertoire home). Par + exemple, pour extraire le fichier /etc/motd, vous + pourriez utiliser l'URL :

+ +

+ ftp://utilisateur@serveur/%2f/etc/motd +

+
top
+
+

Comment puis-je dissimuler le mot de + passe FTP apparaissant en clair dans la ligne d'URL de mon + navigateur ?

+

Apache utilise différentes stratégies pour effectuer une + connexion à un serveur FTP à l'aide d'un nom d'utilisateur et d'un + mot de passe. En l'absence de nom d'utilisateur et de mot de passe + dans l'URL, Apache tente une connexion anonyme auprès du serveur + FTP comme suit :

+ +

+ utilisateur : anonymous
+ mot de passe : apache_proxy@ +

+ +

Ceci fonctionne avec tous les serveurs FTP courants configurés + pour accepter les connexions anonymes.

+ +

Pour une connexion personnalisée avec un nom d'utilisateur + spécifique, vous pouvez intégrer ce dernier dans l'URL comme suit + :

+ +

+ ftp://nom-utilisateur@serveur/mon-fichier +

+ +

Si le serveur FTP demande un mot de passe pour ce nom + d'utilisateur (ce qu'il est censé faire), Apache va renvoyer au + client une réponse 401 (Autorisation requise), ce qui + fera afficher au navigateur une boîte de dialogue utilisateur/mot + de passe. Une fois le mot de passe saisi, la connexion est tentée + à nouveau, et si elle réussit, la ressource demandée est + présentée. L'avantage de cette procédure réside dans le fait que + votre navigateur n'affiche pas le mot de passe en clair, ce qu'il + aurait fait si vous aviez utilisé l'URL :

+ +

+ ftp://nom-utilisateur:mot-de-passe@serveur/mon-fichier +

+ +

Note

+

Le mot de passe transmis de cette manière n'est pas chiffré + lorsqu'il est envoyé. Il transite entre votre navigateur et le + serveur mandataire Apache sous la forme d'une chaîne de texte en + clair codée en base64, et entre le mandataire Apache et le + serveur FTP en texte pur. Vous devez par conséquent réfléchir à + deux fois avant d'accéder à votre serveur FTP via HTTP (et d'une + manière générale avant d'accéder à vos fichiers personnels via + FTP !) sur des canaux non sécurisés, car des oreilles + indiscrètes pourraient intercepter votre mot de passe au cours + de son transfert.

+
+
top
+
+

Pourquoi reçois-je un listing de + fichiers alors que j'ai demandé le téléchargement d'un fichier + ?

+

Apache examine l'URL de la requête afin de permettre la + navigation dans les répertoires d'un serveur FTP ainsi que le + téléchargement de fichiers. Si elle ressemble à un répertoire, ou + contient des caractères génériques ("*?[{~"), alors Apache + considère que c'est un listing qui est demandé, et non un + téléchargement.

+

Vous pouvez désactiver le traitement spécial des noms contenant + des caractères génériques. Voir à cet effet la directive + ProxyFtpListOnWildcard. +

+
+
top
+

Directive ProxyFtpDirCharset

+ + + + + + + + +
Description:Définit le jeu de caractères des listings FTP +mandatés
Syntaxe:ProxyFtpDirCharset jeu-caractères
Défaut:ProxyFtpDirCharset ISO-8859-1
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy_ftp
Compatibilité:Déplacé +depuis mod_proxy à partir de la version 2.3.5 d'Apache
+

La directive ProxyFtpDirCharset permet de + définir le jeu de caractères à utiliser pour les listings FTP en + HTML générés par mod_proxy_ftp.

+ +
+
top
+

Directive ProxyFtpEscapeWildcards

+ + + + + + + + +
Description:Les caractères génériques dans les noms de fichiers +doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?
Syntaxe:ProxyFtpEscapeWildcards [on|off]
Défaut:on
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy_ftp
Compatibilité:Disponible depuis la version 2.3.3 du serveur HTTP Apache
+

La directive ProxyFtpEscapeWildcards permet + de déterminer si les caractères génériques ("*?[{~") que contiennent + les noms de fichiers demandés doivent être échappés pas un slash + inversé avant d'être envoyés au serveur FTP. Il s'agit du comportement + par défaut ; cependant, de nombreux serveurs FTP n'ont aucune + connaissance de la notion d'échappement, et tentent de servir le + fichier demandé sous sa forme littérale, en incluant les slashes + inversés dans son nom.

+

Définissez cette directive à "off" pour permettre le + téléchargement de fichiers dont les noms contiennent des caractères + génériques depuis des serveurs FTP qui ne connaissent pas + l'échappement des caractères génériques.

+ +
+
top
+

Directive ProxyFtpListOnWildcard

+ + + + + + + + +
Description:Les caractères génériques dans les noms de fichiers +demandés doivent-ils déclencher l'affichage d'un listing ?
Syntaxe:ProxyFtpListOnWildcard [on|off]
Défaut:on
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy_ftp
Compatibilité:Disponible depuis la version 2.3.3 du serveur HTTP Apache
+

La directive ProxyFtpListOnWildcard permet + de déterminer si les caractères génériques ("*?[{~") que contiennent + les noms de fichiers demandés provoquent l'affichage d'un listing de + fichiers par mod_proxy_ftp au lieu de télécharger un + fichier. Il s'agit de leur comportement par défaut (valeur on). + Définissez cette directive à "off" pour permettre le téléchargement de + fichiers même si leur nom contient des caractères génériques.

+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_ftp.xml.fr b/docs/manual/mod/mod_proxy_ftp.xml.fr new file mode 100644 index 0000000000..22ea68c151 --- /dev/null +++ b/docs/manual/mod/mod_proxy_ftp.xml.fr @@ -0,0 +1,247 @@ + + + + + + + + + + + +mod_proxy_ftp +Module fournissant le support FTP à +mod_proxy +Extension +mod_proxy_ftp.c +proxy_ftp_module + + +

Pour pouvoir fonctionner, ce module requiert le + chargement de mod_proxy. Il fournit le support du + mandatement des sites FTP. Notez que le support FTP est + actuellement limité à la méthode GET.

+ +

Ainsi, pour pouvoir traiter les requêtes FTP mandatées, + mod_proxy, et mod_proxy_ftp + doivent être chargés dans le serveur.

+ + Avertissement +

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

+
+
+mod_proxy + +
Pourquoi les fichiers du type + <var>xxx</var> ne sont-ils pas téléchargeables par FTP ? +

Ce type particulier de fichier n'est probablement pas défini en + temps que application/octet-stream dans le fichier + de configuration mime.types de votre mandataire. La ligne suivante + peut y remédier :

+ + +
application/octet-stream   bin dms lha lzh exe class tgz taz
+
+

Vous pouvez aussi définir par défaut tous les types de fichiers + en tant que fichiers binaires :

+ + + ForceType application/octet-stream + + +
+ +
Comment puis-je forcer le téléchargement + FTP en mode ASCII du fichier <var>xxx</var> ? +

Dans les rares siruations où vous devez télécharger un fichier + spécifique en utilisant la méthode de transfert FTP + ASCII (alors que le mode transfert par défaut est + binary), vous pouvez modifier le mode de transfert de + mod_proxy en suffixant la requête avec + ;type=a pour forcer un transfert en mode ASCII (les + listings de répertoires FTP sont cependant quant à eux transmis en + mode ASCII).

+
+ +
Comment puis-je effectuer un + chargement FTP ? +

Actuellement, seule la méthode GET est supportée pour FTP dans + mod_proxy. Vous pouvez par contre utiliser le chargement HTTP (POST + or PUT) via un mandataire Apache.

+
+ +
Comment puis-je accéder par FTP à + des fichiers situés en dehors de mon répertoire home ? +

Un URI FTP est considéré comme relatif au répertoire home de + l'utilisateur connecté. Hélas, vous ne pouvez pas utiliser /../ + pour atteindre des répertoires de niveau supérieur, car les points + sont interprétés par le navigateur et ne sont donc pas vraiment + envoyés au serveur FTP. Pour traiter ce problème, une méthode + nommée Squid %2f hack a été implémentée dans le + mandataire FTP Apache ; cette solution est aussi utilisée par + d'autres serveurs mandataires courants comme le Cache mandataire Squid. En + préfixant par /%2f le chemin de votre requête, vous + pouvez faire en sorte que le mandataire modifie le répertoire FTP + racine en / (au lieu du répertoire home). Par + exemple, pour extraire le fichier /etc/motd, vous + pourriez utiliser l'URL :

+ + + ftp://utilisateur@serveur/%2f/etc/motd + +
+ +
Comment puis-je dissimuler le mot de + passe FTP apparaissant en clair dans la ligne d'URL de mon + navigateur ? +

Apache utilise différentes stratégies pour effectuer une + connexion à un serveur FTP à l'aide d'un nom d'utilisateur et d'un + mot de passe. En l'absence de nom d'utilisateur et de mot de passe + dans l'URL, Apache tente une connexion anonyme auprès du serveur + FTP comme suit :

+ + + utilisateur : anonymous
+ mot de passe : apache_proxy@ +
+ +

Ceci fonctionne avec tous les serveurs FTP courants configurés + pour accepter les connexions anonymes.

+ +

Pour une connexion personnalisée avec un nom d'utilisateur + spécifique, vous pouvez intégrer ce dernier dans l'URL comme suit + :

+ + + ftp://nom-utilisateur@serveur/mon-fichier + + +

Si le serveur FTP demande un mot de passe pour ce nom + d'utilisateur (ce qu'il est censé faire), Apache va renvoyer au + client une réponse 401 (Autorisation requise), ce qui + fera afficher au navigateur une boîte de dialogue utilisateur/mot + de passe. Une fois le mot de passe saisi, la connexion est tentée + à nouveau, et si elle réussit, la ressource demandée est + présentée. L'avantage de cette procédure réside dans le fait que + votre navigateur n'affiche pas le mot de passe en clair, ce qu'il + aurait fait si vous aviez utilisé l'URL :

+ + + ftp://nom-utilisateur:mot-de-passe@serveur/mon-fichier + + + Note +

Le mot de passe transmis de cette manière n'est pas chiffré + lorsqu'il est envoyé. Il transite entre votre navigateur et le + serveur mandataire Apache sous la forme d'une chaîne de texte en + clair codée en base64, et entre le mandataire Apache et le + serveur FTP en texte pur. Vous devez par conséquent réfléchir à + deux fois avant d'accéder à votre serveur FTP via HTTP (et d'une + manière générale avant d'accéder à vos fichiers personnels via + FTP !) sur des canaux non sécurisés, car des oreilles + indiscrètes pourraient intercepter votre mot de passe au cours + de son transfert.

+
+
+ +
Pourquoi reçois-je un listing de + fichiers alors que j'ai demandé le téléchargement d'un fichier + ? +

Apache examine l'URL de la requête afin de permettre la + navigation dans les répertoires d'un serveur FTP ainsi que le + téléchargement de fichiers. Si elle ressemble à un répertoire, ou + contient des caractères génériques ("*?[{~"), alors Apache + considère que c'est un listing qui est demandé, et non un + téléchargement.

+

Vous pouvez désactiver le traitement spécial des noms contenant + des caractères génériques. Voir à cet effet la directive + ProxyFtpListOnWildcard. +

+
+ + +ProxyFtpListOnWildcard +Les caractères génériques dans les noms de fichiers +demandés doivent-ils déclencher l'affichage d'un listing ? +ProxyFtpListOnWildcard [on|off] +on +server configvirtual host + directory +Disponible depuis la version 2.3.3 du serveur HTTP Apache + + +

La directive ProxyFtpListOnWildcard permet + de déterminer si les caractères génériques ("*?[{~") que contiennent + les noms de fichiers demandés provoquent l'affichage d'un listing de + fichiers par mod_proxy_ftp au lieu de télécharger un + fichier. Il s'agit de leur comportement par défaut (valeur on). + Définissez cette directive à "off" pour permettre le téléchargement de + fichiers même si leur nom contient des caractères génériques.

+
+
+ + +ProxyFtpEscapeWildcards +Les caractères génériques dans les noms de fichiers +doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ? +ProxyFtpEscapeWildcards [on|off] +on +server configvirtual host + directory +Disponible depuis la version 2.3.3 du serveur HTTP Apache + + +

La directive ProxyFtpEscapeWildcards permet + de déterminer si les caractères génériques ("*?[{~") que contiennent + les noms de fichiers demandés doivent être échappés pas un slash + inversé avant d'être envoyés au serveur FTP. Il s'agit du comportement + par défaut ; cependant, de nombreux serveurs FTP n'ont aucune + connaissance de la notion d'échappement, et tentent de servir le + fichier demandé sous sa forme littérale, en incluant les slashes + inversés dans son nom.

+

Définissez cette directive à "off" pour permettre le + téléchargement de fichiers dont les noms contiennent des caractères + génériques depuis des serveurs FTP qui ne connaissent pas + l'échappement des caractères génériques.

+
+
+ + +ProxyFtpDirCharset +Définit le jeu de caractères des listings FTP +mandatés +ProxyFtpDirCharset jeu-caractères +ProxyFtpDirCharset ISO-8859-1 +server configvirtual host +directory +Déplacé +depuis mod_proxy à partir de la version 2.3.5 d'Apache + + +

La directive ProxyFtpDirCharset permet de + définir le jeu de caractères à utiliser pour les listings FTP en + HTML générés par mod_proxy_ftp.

+
+
+ +
diff --git a/docs/manual/mod/mod_proxy_ftp.xml.meta b/docs/manual/mod/mod_proxy_ftp.xml.meta index 1a0b188f79..b95c3fd4e3 100644 --- a/docs/manual/mod/mod_proxy_ftp.xml.meta +++ b/docs/manual/mod/mod_proxy_ftp.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_proxy_html.html b/docs/manual/mod/mod_proxy_html.html index 5f72597ff3..b615b8e539 100644 --- a/docs/manual/mod/mod_proxy_html.html +++ b/docs/manual/mod/mod_proxy_html.html @@ -3,3 +3,7 @@ URI: mod_proxy_html.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_html.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_html.html.fr b/docs/manual/mod/mod_proxy_html.html.fr new file mode 100644 index 0000000000..0b91175c78 --- /dev/null +++ b/docs/manual/mod/mod_proxy_html.html.fr @@ -0,0 +1,557 @@ + + + + + +mod_proxy_html - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_html

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Réécrit les liens HTML afin de s'assurer qu'ils soient bien +adressables depuis les réseaux des clients dans un contexte de +mandataire.
Statut:Base
Identificateur de Module:proxy_html_module
Fichier Source:mod_proxy_html.c
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures
+

Sommaire

+ +

Ce module fournit un filtre en sortie permettant de réécrire les + liens HTML dans un contexte de mandataire, afin de s'assurer que ces + liens fonctionnent pour les utilisateurs en dehors du mandataire. Il + accomplit la même tâche que la directive ProxyPassReverse d'Apache + accomplit pour les en-têtes HTTP, et fait partie des composants + essentiels d'un mandataire inverse.

+ +

Par exemple, si une entreprise possède un serveur d'applications +nommé appserver.example.com qui n'est visible que depuis son réseau +interne, et un serveur web public www.example.com, il peut +être souhaitable de fournir une passerelle vers le serveur d'application +à l'adresse http://www.example.com/appserver/. Lorsque le +serveur d'applications présente un lien vers lui-même, ce lien doit être +réécrit pour fonctionner à travers la passerelle. A cet effet, +mod_proxy_html permet de réécrire <a +href="http://appserver.example.com/foo/bar.html">foobar</a> +en <a +href="http://www.example.com/appserver/foo/bar.html">foobar</a>, +ce qui permet de rendre le serveur d'applications accessible depuis +l'extérieur.

+ +

mod_proxy_html a été développé à l'origine à WebÞing, dont la documentation +détaillée pourra s'avérer utile aux utilisateurs.

+
+ + +
top
+

Directive ProxyHTMLBufSize

+ + + + + + + +
Description:Définit l'incrément de la taille du tampon, ainsi que sa +taille initiale, pour la mise en +tampon des scripts en ligne et des feuilles de style.
Syntaxe:ProxyHTMLBufSize nb-octets
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Pour pouvoir interpréter du contenu non HTML (feuilles de style et +scripts) embarqué dans des documents HTML, mod_proxy_html doit le lire +et le mémoriser en entier dans un +tampon. Ce tampon devra être étendu autant que nécessaire afin de +pouvoir accueillir le plus grand script ou la plus grande feuille de +style de la page, selon un incrément de nb-octets que cette +directive permet de définir.

+

La valeur par défaut est 8192 et sera suffisante pour la plupart des +pages. Cependant, si vous savez que vous allez mandater des +pages contenant des feuilles de style et/ou scripts plus grands que 8k +(cette taille s'entend pour chaque script ou feuilles de style, non pour +leur ensemble), il sera plus efficace de définir une taille de +tampon initiale plus grande afin d'éviter d'avoir à le redimensionner +dynamiquement au cours du traitement d'une requête. +

+ +
+
top
+

Directive ProxyHTMLCharsetOut

+ + + + + + + +
Description:Spécifie un jeu de caractères pour la sortie de +mod_proxy_html.
Syntaxe:ProxyHTMLCharsetOut jeu-de-caractères | *
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive permet de spécifier un jeu de caractères pour la +sortie de mod_proxy_html. Elle ne devrait jamais être utilisée, car tout +changement par rapport à la valeur par défaut UTF-8 (Unicode - +utilisé en interne par libxml2) induit une charge supplémentaire de +traitement. La définition spéciale ProxyHTMLCharsetOut * +permet de générer une sortie qui utilisera le même encodage que +l'entrée.

+

Notez que tout ceci ne fonctionne que si le module +mod_xml2enc est chargé.

+ +
+
top
+

Directive ProxyHTMLDocType

+ + + + + + + + +
Description:Définit une déclaration de type de document HTML ou XHTML.
Syntaxe:ProxyHTMLDocType HTML|XHTML [Legacy]
OU +
ProxyHTMLDocType fpi [SGML|XML]
OU +
ProxyHTMLDocType html5
OU +
ProxyHTMLDocType auto
Défaut:ProxyHTMLDocType auto (2.5/trunk versions); no FPI (2.4.x)
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Avec la première syntaxe, les documents seront déclarés de type HTML +4.01 ou XHTML 1.0 selon l'option spécifiée. Cette option détermine aussi +si la syntaxe utilisée en sortie est HTML ou XHTML. Notez que le format +des documents en provenance du serveur d'arrière-plan n'est pas +important, car l'interpréteur le détectera automatiquement. Si le +second argument optionnel est défini à "Legacy", les documents seront +déclarés de type "Transitional" ; cette option peut être nécessaire si +vous mandatez du contenu datant d'avant 1998, ou si vous travaillez avec +des outils de création/publication déficients.

+

Avec la deuxième syntaxe, cette directive vous permet d'insérer votre +propre FPI (Formal Public Identifier). Le second argument optionnel +détermine si la syntaxe utilisée sera SGML/HTML ou XML/XHTML.

+

La troisième syntaxe attribue le type HTML 5 aux documents.

+

La quatrième syntaxe est nouvelle dans la branche trunk de HTTPD et +n'est pas encore disponible dans les versions stables ; elle utilise +l'interpréteur HTML de libxml2 pour déterminer le type de document.

+

Avec la première syntaxe, mod_proxy_html va aussi mettre le code HTML +en conformité avec le standard spécifié. Il ne pourra pas corriger +toutes les erreurs, mais il va supprimer les éléments et attributs non +conformes. Il peut aussi journaliser les autres erreurs si la directive +LogLevel est définie à +Debug.

+ +
+
top
+

Directive ProxyHTMLEnable

+ + + + + + + + +
Description:Permet d'activer/désactiver le filtre proxy_html.
Syntaxe:ProxyHTMLEnable On|Off
Défaut:ProxyHTMLEnable Off
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive est un simple commutateur permettant + d'activer/désactiver le filtre proxy_html. Si + mod_xml2enc est chargé, elle va aussi activer + automatiquement le support de l'internationalisation.

+

Notez que le filtre proxy_html s'agira que si les données sont de + type HTML (Content-Type text/html ou application/xhtml+xml), et si + elles passent par un mandataire. Vous pouvez passer outre ces + contraintes (à vos risques et périls) en définissant la variable + d'environnement PROXY_HTML_FORCE.

+ +
+
top
+

Directive ProxyHTMLEvents

+ + + + + + + +
Description:Spécifie les attributs à traiter comme des évènements de +type scripting.
Syntaxe:ProxyHTMLEvents attribut [attribut ...]
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive permet de spécifier un ou plusieurs attributs à +traiter comme +des évènements de type scripting et de leur appliquer les règles +ProxyHTMLURLMap lorsqu'elles ont été définies. Vous +pouvez spécifier un nombre quelconque d'attributs dans une ou plusieurs +directives ProxyHTMLEvents.

+

Normalement, cette directive est définie globalement. Si vous +définissez ProxyHTMLEvents à plusieurs niveaux, certains niveaux +l'emportant sur d'autres, vous devrez spécifier un jeu complet +d'évènements pour chaque niveau.

+

Le fichier proxy-html.conf fournit une configuration par +défaut et définit les évènements selon les standards +HTML 4 et XHTML 1.

+ +
+
top
+

Directive ProxyHTMLExtended

+ + + + + + + + +
Description:Détermine si l'on doit corriger les liens dans les scripts +en ligne, les feuilles de style et les évènements de type scripting.
Syntaxe:ProxyHTMLExtended On|Off
Défaut:ProxyHTMLExtended Off
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Si cette directive est définie à Off, les liens HTML +sont réécrits en fonction des directives +ProxyHTMLURLMap, mais les liens qui apparaissent +dans le code Javascript et les feuilles de style restent inchangés.

+

Si elle est définie à On, tous les évènements de type +scripting (définis par la directive +ProxyHTMLEvents) et les scripts inclus ou les +feuilles de style sont aussi +traités par les règles ProxyHTMLURLMap, en +fonction des drapeaux définis pour chacune d'entre elles. Ne définissez +cette directive à On qu'en cas de nécessité absolue, car la +charge supplémentaire induite impacte les performances.

+

Vous devez aussi prêter attention aux modèles de comparaison, car +l'interpréteur n'a aucune notion de la forme que pourrait prendre une URL dans un +script embarqué ou une feuille de style. En particulier, la comparaison +étendus du caractère / a de fortes chances d'induire des +correspondances erronées.

+ +
+
top
+

Directive ProxyHTMLFixups

+ + + + + + + +
Description:Corrige les erreurs HTML simples.
Syntaxe:ProxyHTMLFixups [lowercase] [dospath] [reset]
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive accepte un à trois arguments parmi les suivants :

+
    +
  • lowercaseLes Urls sont réécrites en minuscules
  • +
  • dospathLes slashes inversés dans les URLs sont +remplacés par des slashes directs.
  • +
  • resetAnnule toute option définie à un niveau supérieur +dans la configuration
  • +
+

Cette directive doit être utilisée avec prudence. Elle peut corriger +certaines erreurs de création, mais risque aussi de modifier par erreur +des liens corrects. Ne l'utilisez que si vous êtes sûr que le serveur +d'arrière-plan est déficient.

+ +
+
top
+

Directive ProxyHTMLInterp

+ + + + + + + + +
Description:Active la réinterprétation des règles +ProxyHTMLURLMap pour chaque requête.
Syntaxe:ProxyHTMLInterp On|Off
Défaut:ProxyHTMLInterp Off
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive permet d'activer le réinterprétation pour chaque + requête des modèles source et cible de la directive + ProxyHTMLURLMap.

+

Si la réinterprétation n'est pas activée, toutes les règles sont + précompilées au démarrage du serveur. Si elle est activée, les + règles doivent être recompilées pour chaque requête, ce qui induit + une charge de traitement supplémentaire. Elle ne doit donc être activée que si + cela s'avère nécessaire.

+ +
+
top
+

Directive ProxyHTMLLinks

+ + + + + + + +
Description:Spécifie les éléments HTML dont les attributs d'URL doivent +être réécrits.
Syntaxe:ProxyHTMLLinks élément attribut [attribut2 ...]
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Cette directive permet de spécifier les éléments dont les attributs d'URL +doivent être réécrits en utilisant les règles standards ProxyHTMLURLMap. Vous devez définir une +directive ProxyHTMLLinks pour chaque élément, mais chacune d'entre elles peut +spécifier un nombre quelconque d'attributs

Normalement, cette directive +est définie globalement. Si vous définissez ProxyHTMLLinks à plusieurs niveaux, +certains niveaux l'emportant sur d'autres, vous devrez spécifier un jeu complet +de liens pour chaque niveau.

Le fichier proxy-html.conf +fournit une configuration par défaut et définit les liens HTML selon les +standards HTML 4 et XHTML 1.

+

Exemples issus de proxy-html.conf

ProxyHTMLLinks  a          href
+ProxyHTMLLinks  area       href
+ProxyHTMLLinks  link       href
+ProxyHTMLLinks  img        src longdesc usemap
+ProxyHTMLLinks  object     classid codebase data usemap
+ProxyHTMLLinks  q          cite
+ProxyHTMLLinks  blockquote cite
+ProxyHTMLLinks  ins        cite
+ProxyHTMLLinks  del        cite
+ProxyHTMLLinks  form       action
+ProxyHTMLLinks  input      src usemap
+ProxyHTMLLinks  head       profile
+ProxyHTMLLinks  base       href
+ProxyHTMLLinks  script     src for
+
+ +
+
top
+

Directive ProxyHTMLMeta

+ + + + + + + + +
Description:Active ou désactive une préinterprétation supplémentaire +des métadonnées dans les sections HTML <head>.
Syntaxe:ProxyHTMLMeta On|Off
Défaut:ProxyHTMLMeta Off
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible à partir de la version 2.4 du serveur HTTP +Apache ; proposé en tant que module tiers dans les versions 2.x +précédentes.
+

Cette directive permet d'activer ou désactiver une + préinterprétation supplémentaire des métadonnées dans les sections + HTML <head>. Si cette préinterprétation n'est pas + requise, définissez ProxyHTMLMeta à Off et les performances + seront légèrement améliorées. Cependant, elle s'avère parfois + nécessaire pour assurer un fonctionnement correct de l'internationalisation.

+

La directive ProxyHTMLMeta a deux effets. Le premier et le plus + important est la détection des codages de caractères déclarés sous + la forme

+
<meta http-equiv="Content-Type" content="text/html;charset=foo">
+

ou, dans le cas d'un document XHTML, sous la forme d'une + déclaration XML. Elle n'est pas nécessaire si le jeu de caractères + est déclaré explicitement dans un en-tête HTTP (ce qui est + préférable) en provenance du serveur d'arrière-plan, ou si le + document est en utf-8 (unicode) ou un de ses + sous-ensembles comme ASCII. Vous pourrez aussi vous en passer + lorsque le document utilise une valeur par défaut déclarée via la + directive xml2EncDefault, avec le risque de + propager une déclaration incorrecte. Une directive + ProxyHTMLCharsetOut permettra d'annuler ce + risque, mais pourra induire une surcharge de traitement supérieure à + celle de ProxyHTMLMeta.

+

Le deuxième effet est l'interprétation de toutes les déclarations + <meta http-equiv=...> et leur conversion en + en-têtes HTTP, afin de conserver le but original de cette forme + de métaélément HTML.

+ +

Avertissement

Compte tenu du fait que la + directive ProxyHTMLMeta promeut tous les éléments + http-equiv au rang d'en-têtes HTTP, il est conseillé de ne + l'activer que si vous faites autant confiance au contenu HTML qu'à votre + serveur mandataire. Avec cette directive en effet, si ce contenu est géré + par des gens malintentionnés, ces derniers seront en mesure d'injecter des + en-têtes HTTP arbitraires et peut-être malveillants dans les réponses de + votre serveur. +
+ +
+
top
+

Directive ProxyHTMLStripComments

+ + + + + + + + +
Description:Détermine si les commentaires HTML doivent être supprimés.
Syntaxe:ProxyHTMLStripComments On|Off
Défaut:ProxyHTMLStripComments Off
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Si cette directive est définie à On, mod_proxy_html +supprimera les commentaires HTML. Notez que cela supprimera aussi tout +script ou style inclus dans les commentaires (une monstruosité +introduite en 1995/1996 avec Netscape 2 pour les navigateurs plus +anciens, et encore utilisée de nos jours). Cette directive peut aussi +interférer avec des processeurs basés sur les commentaires comme SSI ou +ESI : assurez-vous d'exécuter ces derniers avant mod_proxy_html +dans la chaîne de filtrage si vous supprimez les commentaires !

+ +
+
top
+

Directive ProxyHTMLURLMap

+ + + + + + + +
Description:Définit une règle de réécriture des liens HTML
Syntaxe:ProxyHTMLURLMap modèle-source modèle-cible [drapeaux] [cond]
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Base
Module:mod_proxy_html
Compatibilité:Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures.
+

Il s'agit de la directive la plus importante pour la réécriture des +liens HTML. Lors de l'interprétation d'un document, chaque fois qu'un +lien correspond à modèle-source, la partie du lien concernée +sera réécrite en modèle-cible, en tenant compte des +modifications induites par les drapeaux éventuellement spécifiés et par +la directive ProxyHTMLExtended. +Ne seront considérés comme des liens HTML que les éléments spécifiés via la +directive ProxyHTMLLinks.

+ +

Le troisième argument optionnel permet de définir un des drapeaux +suivants (les drapeaux sont sensibles à la casse) :

+
+
h
+

Ignore les liens HTML (les traverse sans les modifier)

+
e
+

Ignore les évènements de scripting (les traverse sans les +modifier)

+
c
+

Traverse les sections de type style ou script sans les modifier.

+ +
L
+

Last-match. Si cette règle s'applique, aucune autre règle ne sera +prise en compte (notez qu'il s'agit du comportement automatique pour les +liens HTML).

+
l
+

L'opposé de L. Passe outre le comportement par défaut du +changement unique pour les liens HTML.

+
R
+

Utilise des expressions rationnelles pour les modèles. +modèle-source est une expression rationnelle, et +modèle-cible une chaîne de remplacement qui peut être basée +elle aussi sur une expression rationnelle. La mémorisation dans les +expressions rationnelles est supportée : vous pouvez utiliser des +parenthèses () dans le modèle-source, et récupérer la +correspondance de leur contenu via les variables $1 à $9 dans le +modèle-cible.

+ +

Si le drapeau R n'est pas fourni, la directive utilisera des chaînes +littérales pour les différents modèles de recherche/remplacement. La +logique de recherche est "commence par" dans les liens HTML, et +"contient" dans les évènements de scripting et les sections de +type style ou script. +

+
+
x
+

Utilise les expressions rationnelles étendues POSIX. Ne +s'applique qu'avec R.

+
i
+

Recherche de correspondance sensible à la casse. Ne +s'applique qu'avec R.

+ +
n
+

Désactive la mémorisation dans les expressions rationnelles (pour +améliorer les performances). Ne s'applique qu'avec R.

+
s
+

Recherche de correspondance dans les expressions rationnelles +basée sur la ligne. Ne s'applique qu'avec R.

+
^
+

Recherche de correspondance au début seulement. Ne concerne que +les recherches de correspondance par rapport à des chaînes, et ne +s'applique pas aux liens HTML.

+
$
+

Recherche de correspondance à la fin seulement. Ne concerne que +les recherches de correspondance par rapport à des chaînes, et ne +s'applique pas aux liens HTML.

+
V
+

Insère des variables d'environnement dans le +modèle-cible. Un modèle-cible de la forme +${varname|default} sera remplacé par la valeur de la +variable d'environnement varname. Si cette dernière n'est +pas définie, modèle-cible sera remplacé par +default. La spécification de |default est +facultative.

+

NOTE: l'insertion de variables d'environnement n'est possible que si +la directive ProxyHTMLInterp a été définie à +On.

+
+ +
v
+

Insère des variables d'environnement dans le +modèle-source. La syntaxe du modèle est identique à la +syntaxe précédente.

+

NOTE: l'insertion de variables d'environnement n'est possible que si +la directive ProxyHTMLInterp a été définie à +On.

+
+
+ +

Le quatrième argument optionnel cond définit une +condition qui sera évaluée pour chaque requête, sous réserve que la +directive ProxyHTMLInterp ait été définie à +On. Si la condition est évaluée à FALSE, la règle ne sera pas +appliquée à la requête. Si elle est évaluée à TRUE, ou si aucune +condition n'est définie, la règle s'applique.

+

La condition est évaluée par l'interpréteur d'expression. La syntaxe simple des +conditions dans mod_proxy_html 3.x pour HTTPD 2.0 et 2.2 est aussi +supportée.

+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_html.xml.fr b/docs/manual/mod/mod_proxy_html.xml.fr new file mode 100644 index 0000000000..dd66c12676 --- /dev/null +++ b/docs/manual/mod/mod_proxy_html.xml.fr @@ -0,0 +1,523 @@ + + + + + + + + + + + +mod_proxy_html +Réécrit les liens HTML afin de s'assurer qu'ils soient bien +adressables depuis les réseaux des clients dans un contexte de +mandataire. +Base +mod_proxy_html.c +proxy_html_module +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures + + +

Ce module fournit un filtre en sortie permettant de réécrire les + liens HTML dans un contexte de mandataire, afin de s'assurer que ces + liens fonctionnent pour les utilisateurs en dehors du mandataire. Il + accomplit la même tâche que la directive ProxyPassReverse d'Apache + accomplit pour les en-têtes HTTP, et fait partie des composants + essentiels d'un mandataire inverse.

+ +

Par exemple, si une entreprise possède un serveur d'applications +nommé appserver.example.com qui n'est visible que depuis son réseau +interne, et un serveur web public www.example.com, il peut +être souhaitable de fournir une passerelle vers le serveur d'application +à l'adresse http://www.example.com/appserver/. Lorsque le +serveur d'applications présente un lien vers lui-même, ce lien doit être +réécrit pour fonctionner à travers la passerelle. A cet effet, +mod_proxy_html permet de réécrire <a +href="http://appserver.example.com/foo/bar.html">foobar</a> +en <a +href="http://www.example.com/appserver/foo/bar.html">foobar</a>, +ce qui permet de rendre le serveur d'applications accessible depuis +l'extérieur.

+ +

mod_proxy_html a été développé à l'origine à WebÞing, dont la documentation +détaillée pourra s'avérer utile aux utilisateurs.

+
+ + +ProxyHTMLMeta +Active ou désactive une préinterprétation supplémentaire +des métadonnées dans les sections HTML <head>. +ProxyHTMLMeta On|Off +ProxyHTMLMeta Off +server config +virtual hostdirectory + +Disponible à partir de la version 2.4 du serveur HTTP +Apache ; proposé en tant que module tiers dans les versions 2.x +précédentes. + + +

Cette directive permet d'activer ou désactiver une + préinterprétation supplémentaire des métadonnées dans les sections + HTML <head>. Si cette préinterprétation n'est pas + requise, définissez ProxyHTMLMeta à Off et les performances + seront légèrement améliorées. Cependant, elle s'avère parfois + nécessaire pour assurer un fonctionnement correct de l'internationalisation.

+

La directive ProxyHTMLMeta a deux effets. Le premier et le plus + important est la détection des codages de caractères déclarés sous + la forme

+
<meta http-equiv="Content-Type" content="text/html;charset=foo">
+

ou, dans le cas d'un document XHTML, sous la forme d'une + déclaration XML. Elle n'est pas nécessaire si le jeu de caractères + est déclaré explicitement dans un en-tête HTTP (ce qui est + préférable) en provenance du serveur d'arrière-plan, ou si le + document est en utf-8 (unicode) ou un de ses + sous-ensembles comme ASCII. Vous pourrez aussi vous en passer + lorsque le document utilise une valeur par défaut déclarée via la + directive xml2EncDefault, avec le risque de + propager une déclaration incorrecte. Une directive + ProxyHTMLCharsetOut permettra d'annuler ce + risque, mais pourra induire une surcharge de traitement supérieure à + celle de ProxyHTMLMeta.

+

Le deuxième effet est l'interprétation de toutes les déclarations + <meta http-equiv=...> et leur conversion en + en-têtes HTTP, afin de conserver le but original de cette forme + de métaélément HTML.

+ + Avertissement Compte tenu du fait que la + directive ProxyHTMLMeta promeut tous les éléments + http-equiv au rang d'en-têtes HTTP, il est conseillé de ne + l'activer que si vous faites autant confiance au contenu HTML qu'à votre + serveur mandataire. Avec cette directive en effet, si ce contenu est géré + par des gens malintentionnés, ces derniers seront en mesure d'injecter des + en-têtes HTTP arbitraires et peut-être malveillants dans les réponses de + votre serveur. + +
+
+ + +ProxyHTMLEnable +Permet d'activer/désactiver le filtre proxy_html. +ProxyHTMLEnable On|Off +ProxyHTMLEnable Off +server config +virtual hostdirectory + +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures. + + +

Cette directive est un simple commutateur permettant + d'activer/désactiver le filtre proxy_html. Si + mod_xml2enc est chargé, elle va aussi activer + automatiquement le support de l'internationalisation.

+

Notez que le filtre proxy_html s'agira que si les données sont de + type HTML (Content-Type text/html ou application/xhtml+xml), et si + elles passent par un mandataire. Vous pouvez passer outre ces + contraintes (à vos risques et périls) en définissant la variable + d'environnement PROXY_HTML_FORCE.

+
+
+ + +ProxyHTMLURLMap +Définit une règle de réécriture des liens HTML +ProxyHTMLURLMap modèle-source modèle-cible [drapeaux] [cond] +server config +virtual hostdirectory + +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures. + + +

Il s'agit de la directive la plus importante pour la réécriture des +liens HTML. Lors de l'interprétation d'un document, chaque fois qu'un +lien correspond à modèle-source, la partie du lien concernée +sera réécrite en modèle-cible, en tenant compte des +modifications induites par les drapeaux éventuellement spécifiés et par +la directive ProxyHTMLExtended. +Ne seront considérés comme des liens HTML que les éléments spécifiés via la +directive ProxyHTMLLinks.

+ +

Le troisième argument optionnel permet de définir un des drapeaux +suivants (les drapeaux sont sensibles à la casse) :

+
+
h
+

Ignore les liens HTML (les traverse sans les modifier)

+
e
+

Ignore les évènements de scripting (les traverse sans les +modifier)

+
c
+

Traverse les sections de type style ou script sans les modifier.

+ +
L
+

Last-match. Si cette règle s'applique, aucune autre règle ne sera +prise en compte (notez qu'il s'agit du comportement automatique pour les +liens HTML).

+
l
+

L'opposé de L. Passe outre le comportement par défaut du +changement unique pour les liens HTML.

+
R
+

Utilise des expressions rationnelles pour les modèles. +modèle-source est une expression rationnelle, et +modèle-cible une chaîne de remplacement qui peut être basée +elle aussi sur une expression rationnelle. La mémorisation dans les +expressions rationnelles est supportée : vous pouvez utiliser des +parenthèses () dans le modèle-source, et récupérer la +correspondance de leur contenu via les variables $1 à $9 dans le +modèle-cible.

+ +

Si le drapeau R n'est pas fourni, la directive utilisera des chaînes +littérales pour les différents modèles de recherche/remplacement. La +logique de recherche est "commence par" dans les liens HTML, et +"contient" dans les évènements de scripting et les sections de +type style ou script. +

+
+
x
+

Utilise les expressions rationnelles étendues POSIX. Ne +s'applique qu'avec R.

+
i
+

Recherche de correspondance sensible à la casse. Ne +s'applique qu'avec R.

+ +
n
+

Désactive la mémorisation dans les expressions rationnelles (pour +améliorer les performances). Ne s'applique qu'avec R.

+
s
+

Recherche de correspondance dans les expressions rationnelles +basée sur la ligne. Ne s'applique qu'avec R.

+
^
+

Recherche de correspondance au début seulement. Ne concerne que +les recherches de correspondance par rapport à des chaînes, et ne +s'applique pas aux liens HTML.

+
$
+

Recherche de correspondance à la fin seulement. Ne concerne que +les recherches de correspondance par rapport à des chaînes, et ne +s'applique pas aux liens HTML.

+
V
+

Insère des variables d'environnement dans le +modèle-cible. Un modèle-cible de la forme +${varname|default} sera remplacé par la valeur de la +variable d'environnement varname. Si cette dernière n'est +pas définie, modèle-cible sera remplacé par +default. La spécification de |default est +facultative.

+

NOTE: l'insertion de variables d'environnement n'est possible que si +la directive ProxyHTMLInterp a été définie à +On.

+
+ +
v
+

Insère des variables d'environnement dans le +modèle-source. La syntaxe du modèle est identique à la +syntaxe précédente.

+

NOTE: l'insertion de variables d'environnement n'est possible que si +la directive ProxyHTMLInterp a été définie à +On.

+
+
+ +

Le quatrième argument optionnel cond définit une +condition qui sera évaluée pour chaque requête, sous réserve que la +directive ProxyHTMLInterp ait été définie à +On. Si la condition est évaluée à FALSE, la règle ne sera pas +appliquée à la requête. Si elle est évaluée à TRUE, ou si aucune +condition n'est définie, la règle s'applique.

+

La condition est évaluée par l'interpréteur d'expression. La syntaxe simple des +conditions dans mod_proxy_html 3.x pour HTTPD 2.0 et 2.2 est aussi +supportée.

+
+
+ + +ProxyHTMLInterp +Active la réinterprétation des règles +ProxyHTMLURLMap pour chaque requête. +ProxyHTMLInterp On|Off +ProxyHTMLInterp Off +server config +virtual hostdirectory + +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures. + + +

Cette directive permet d'activer le réinterprétation pour chaque + requête des modèles source et cible de la directive + ProxyHTMLURLMap.

+

Si la réinterprétation n'est pas activée, toutes les règles sont + précompilées au démarrage du serveur. Si elle est activée, les + règles doivent être recompilées pour chaque requête, ce qui induit + une charge de traitement supplémentaire. Elle ne doit donc être activée que si + cela s'avère nécessaire.

+
+
+ + +ProxyHTMLDocType +Définit une déclaration de type de document HTML ou XHTML. +ProxyHTMLDocType HTML|XHTML [Legacy]
OU +
ProxyHTMLDocType fpi [SGML|XML]
OU +
ProxyHTMLDocType html5
OU +
ProxyHTMLDocType auto
+ProxyHTMLDocType auto (2.5/trunk versions); no FPI (2.4.x) +server config +virtual hostdirectory + +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures. + + +

Avec la première syntaxe, les documents seront déclarés de type HTML +4.01 ou XHTML 1.0 selon l'option spécifiée. Cette option détermine aussi +si la syntaxe utilisée en sortie est HTML ou XHTML. Notez que le format +des documents en provenance du serveur d'arrière-plan n'est pas +important, car l'interpréteur le détectera automatiquement. Si le +second argument optionnel est défini à "Legacy", les documents seront +déclarés de type "Transitional" ; cette option peut être nécessaire si +vous mandatez du contenu datant d'avant 1998, ou si vous travaillez avec +des outils de création/publication déficients.

+

Avec la deuxième syntaxe, cette directive vous permet d'insérer votre +propre FPI (Formal Public Identifier). Le second argument optionnel +détermine si la syntaxe utilisée sera SGML/HTML ou XML/XHTML.

+

La troisième syntaxe attribue le type HTML 5 aux documents.

+

La quatrième syntaxe est nouvelle dans la branche trunk de HTTPD et +n'est pas encore disponible dans les versions stables ; elle utilise +l'interpréteur HTML de libxml2 pour déterminer le type de document.

+

Avec la première syntaxe, mod_proxy_html va aussi mettre le code HTML +en conformité avec le standard spécifié. Il ne pourra pas corriger +toutes les erreurs, mais il va supprimer les éléments et attributs non +conformes. Il peut aussi journaliser les autres erreurs si la directive +LogLevel est définie à +Debug.

+
+
+ + +ProxyHTMLFixups +Corrige les erreurs HTML simples. +ProxyHTMLFixups [lowercase] [dospath] [reset] +server config +virtual hostdirectory + +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures. + +

Cette directive accepte un à trois arguments parmi les suivants :

+
    +
  • lowercaseLes Urls sont réécrites en minuscules
  • +
  • dospathLes slashes inversés dans les URLs sont +remplacés par des slashes directs.
  • +
  • resetAnnule toute option définie à un niveau supérieur +dans la configuration
  • +
+

Cette directive doit être utilisée avec prudence. Elle peut corriger +certaines erreurs de création, mais risque aussi de modifier par erreur +des liens corrects. Ne l'utilisez que si vous êtes sûr que le serveur +d'arrière-plan est déficient.

+
+
+ + +ProxyHTMLExtended +Détermine si l'on doit corriger les liens dans les scripts +en ligne, les feuilles de style et les évènements de type scripting. +ProxyHTMLExtended On|Off +ProxyHTMLExtended Off +server config +virtual hostdirectory + +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures. + +

Si cette directive est définie à Off, les liens HTML +sont réécrits en fonction des directives +ProxyHTMLURLMap, mais les liens qui apparaissent +dans le code Javascript et les feuilles de style restent inchangés.

+

Si elle est définie à On, tous les évènements de type +scripting (définis par la directive +ProxyHTMLEvents) et les scripts inclus ou les +feuilles de style sont aussi +traités par les règles ProxyHTMLURLMap, en +fonction des drapeaux définis pour chacune d'entre elles. Ne définissez +cette directive à On qu'en cas de nécessité absolue, car la +charge supplémentaire induite impacte les performances.

+

Vous devez aussi prêter attention aux modèles de comparaison, car +l'interpréteur n'a aucune notion de la forme que pourrait prendre une URL dans un +script embarqué ou une feuille de style. En particulier, la comparaison +étendus du caractère / a de fortes chances d'induire des +correspondances erronées.

+
+
+ + +ProxyHTMLStripComments +Détermine si les commentaires HTML doivent être supprimés. +ProxyHTMLStripComments On|Off +ProxyHTMLStripComments Off +server config +virtual hostdirectory + +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures. + +

Si cette directive est définie à On, mod_proxy_html +supprimera les commentaires HTML. Notez que cela supprimera aussi tout +script ou style inclus dans les commentaires (une monstruosité +introduite en 1995/1996 avec Netscape 2 pour les navigateurs plus +anciens, et encore utilisée de nos jours). Cette directive peut aussi +interférer avec des processeurs basés sur les commentaires comme SSI ou +ESI : assurez-vous d'exécuter ces derniers avant mod_proxy_html +dans la chaîne de filtrage si vous supprimez les commentaires !

+
+
+ + +ProxyHTMLBufSize +Définit l'incrément de la taille du tampon, ainsi que sa +taille initiale, pour la mise en +tampon des scripts en ligne et des feuilles de style. +ProxyHTMLBufSize nb-octets +server config +virtual hostdirectory + +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures. + +

Pour pouvoir interpréter du contenu non HTML (feuilles de style et +scripts) embarqué dans des documents HTML, mod_proxy_html doit le lire +et le mémoriser en entier dans un +tampon. Ce tampon devra être étendu autant que nécessaire afin de +pouvoir accueillir le plus grand script ou la plus grande feuille de +style de la page, selon un incrément de nb-octets que cette +directive permet de définir.

+

La valeur par défaut est 8192 et sera suffisante pour la plupart des +pages. Cependant, si vous savez que vous allez mandater des +pages contenant des feuilles de style et/ou scripts plus grands que 8k +(cette taille s'entend pour chaque script ou feuilles de style, non pour +leur ensemble), il sera plus efficace de définir une taille de +tampon initiale plus grande afin d'éviter d'avoir à le redimensionner +dynamiquement au cours du traitement d'une requête. +

+
+
+i + +ProxyHTMLEvents +Spécifie les attributs à traiter comme des évènements de +type scripting. +ProxyHTMLEvents attribut [attribut ...] +server config +virtual hostdirectory + +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures. + +

Cette directive permet de spécifier un ou plusieurs attributs à +traiter comme +des évènements de type scripting et de leur appliquer les règles +ProxyHTMLURLMap lorsqu'elles ont été définies. Vous +pouvez spécifier un nombre quelconque d'attributs dans une ou plusieurs +directives ProxyHTMLEvents.

+

Normalement, cette directive est définie globalement. Si vous +définissez ProxyHTMLEvents à plusieurs niveaux, certains niveaux +l'emportant sur d'autres, vous devrez spécifier un jeu complet +d'évènements pour chaque niveau.

+

Le fichier proxy-html.conf fournit une configuration par +défaut et définit les évènements selon les standards +HTML 4 et XHTML 1.

+
+
+ + +ProxyHTMLLinks +Spécifie les éléments HTML dont les attributs d'URL doivent +être réécrits. +ProxyHTMLLinks élément attribut [attribut2 ...] +server config +virtual hostdirectory + +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures. + +

Cette directive permet de spécifier les éléments dont les attributs d'URL +doivent être réécrits en utilisant les règles standards ProxyHTMLURLMap. Vous devez définir une +directive ProxyHTMLLinks pour chaque élément, mais chacune d'entre elles peut +spécifier un nombre quelconque d'attributs

Normalement, cette directive +est définie globalement. Si vous définissez ProxyHTMLLinks à plusieurs niveaux, +certains niveaux l'emportant sur d'autres, vous devrez spécifier un jeu complet +de liens pour chaque niveau.

Le fichier proxy-html.conf +fournit une configuration par défaut et définit les liens HTML selon les +standards HTML 4 et XHTML 1.

+ +Exemples issus de proxy-html.conf + +ProxyHTMLLinks a href +ProxyHTMLLinks area href +ProxyHTMLLinks link href +ProxyHTMLLinks img src longdesc usemap +ProxyHTMLLinks object classid codebase data usemap +ProxyHTMLLinks q cite +ProxyHTMLLinks blockquote cite +ProxyHTMLLinks ins cite +ProxyHTMLLinks del cite +ProxyHTMLLinks form action +ProxyHTMLLinks input src usemap +ProxyHTMLLinks head profile +ProxyHTMLLinks base href +ProxyHTMLLinks script src for + + +
+
+ + +ProxyHTMLCharsetOut +Spécifie un jeu de caractères pour la sortie de +mod_proxy_html. +ProxyHTMLCharsetOut jeu-de-caractères | * +server config +virtual hostdirectory + +Disponible depuis la version 2.4 du serveur HTTP Apache. +Disponible en tant que module tiers dans les versions 2.x antérieures. + +

Cette directive permet de spécifier un jeu de caractères pour la +sortie de mod_proxy_html. Elle ne devrait jamais être utilisée, car tout +changement par rapport à la valeur par défaut UTF-8 (Unicode - +utilisé en interne par libxml2) induit une charge supplémentaire de +traitement. La définition spéciale ProxyHTMLCharsetOut * +permet de générer une sortie qui utilisera le même encodage que +l'entrée.

+

Notez que tout ceci ne fonctionne que si le module +mod_xml2enc est chargé.

+
+
+ + + +
+ diff --git a/docs/manual/mod/mod_proxy_html.xml.meta b/docs/manual/mod/mod_proxy_html.xml.meta index b4533b110f..cd380113ea 100644 --- a/docs/manual/mod/mod_proxy_html.xml.meta +++ b/docs/manual/mod/mod_proxy_html.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_proxy_scgi.html b/docs/manual/mod/mod_proxy_scgi.html index 590ef84df5..fd75046f0b 100644 --- a/docs/manual/mod/mod_proxy_scgi.html +++ b/docs/manual/mod/mod_proxy_scgi.html @@ -3,3 +3,7 @@ URI: mod_proxy_scgi.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_proxy_scgi.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_proxy_scgi.html.fr b/docs/manual/mod/mod_proxy_scgi.html.fr new file mode 100644 index 0000000000..7a6bbfc93a --- /dev/null +++ b/docs/manual/mod/mod_proxy_scgi.html.fr @@ -0,0 +1,227 @@ + + + + + +mod_proxy_scgi - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_proxy_scgi

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Module fournissant le support de la passerelle SCGI à +mod_proxy
Statut:Extension
Identificateur de Module:proxy_scgi_module
Fichier Source:mod_proxy_scgi.c
+

Sommaire

+ +

Pour pouvoir fonctionner, ce module requiert le + chargement de mod_proxy. Il fournit le support du + protocole SCGI, version + 1.

+ +

Ainsi, pour être en mesure de traiter le protocole SCGI, + mod_proxy et mod_proxy_scgi + doivent être chargés dans le serveur.

+ +

Avertissement

+

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

+
+
+ +
top
+
+

Exemples

+

Rappelez-vous, pour que les exemples suivants puissent + fonctionner, vous devez activer mod_proxy et + mod_proxy_scgi.

+ +

Passerelle simple

ProxyPass "/scgi-bin/" "scgi://localhost:4000/"
+
+ +

La passerelle à répartition de charge nécessite le chargement du + module mod_proxy_balancer et d'au moins un module + fournissant un algorithme de répartition de charge, comme + mod_lbmethod_byrequests en plus des modules + déjà cités. mod_lbmethod_byrequests est le module + par défaut et sera utilisé dans cet exemple de configuration.

+ +

Passerelle à répartition de charge

ProxyPass "/scgi-bin/" "balancer://somecluster/"
+<Proxy balancer://somecluster>
+    BalancerMember scgi://localhost:4000
+    BalancerMember scgi://localhost:4001
+</Proxy>
+
+
top
+
+

Variables d'environnement

+

En plus des directives de configuration qui permettent de + contrôler le comportement de mod_proxy, une + variable d'environnement peut aussi + contrôler le fournisseur de protocole SCGI :

+
+
proxy-scgi-pathinfo
+
Par défaut, mod_proxy_scgi ne créera ni + exportera jamais la variable d'environnement + PATH_INFO. Ceci permet au serveur SCGI d'arrière-plan + de déterminer correctement SCRIPT_NAME et + Script-URI, et d'être en conformité avec la section + 3.3 de la RFC 3875. Si au contraire vous souhaitez que + mod_proxy_scgi génère une estimation la plus + précise possible de PATH_INFO, définissez cette + variable d'environnement. La variable doit être définie avant + que la directive SetEnv ne soit effective. Il est possible + d'utiliser à la place la directive SetEnvIf : SetEnvIf Request_URI . proxy-scgi-pathinfo +
+
+
+
top
+

Directive ProxySCGIInternalRedirect

+ + + + + + + + +
Description:Active ou désactive les réponses de redirection interne en +provenance du serveur cible.
Syntaxe:ProxySCGIInternalRedirect On|Off|Headername
Défaut:ProxySCGIInternalRedirect On
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy_scgi
Compatibilité:Le paramètre Headername est disponible depuis +la version 2.4.13 du serveur HTTP Apache.
+

La directive ProxySCGIInternalRedirect + permet au serveur cible de rediriger en interne la passerelle vers + une URL différente. Cette fonctionnalité trouve son origine dans + mod_cgi qui redirige la réponse en interne si + l'état de la réponse est OK (200), et si + la réponse contient un en-tête Location (ou un autre + en-tête défini) dont la valeur + débute par un slash (/). Cette valeur est interprétée + comme une nouvelle URL locale vers laquelle Apache httpd effectue sa + redirection.

+ +

De ce point de vue, mod_proxy_scgi fait la même + chose que mod_cgi, mais vous pouvez en plus + désactiver la fonctionnalité ou spécifier l'utilisation d'un en-tête + autre que Location.

+ +

Exemple

    ProxySCGIInternalRedirect Off
+# Django et certains autres frameworks qualifient pleinement les "URLs
+# locales" définies par l'application ; il faut donc utiliser un autre
+# en-tête.
+<Location /django-app/>
+    ProxySCGIInternalRedirect X-Location
+</Location>
+
+ +
+
top
+

Directive ProxySCGISendfile

+ + + + + + + +
Description:Active l'évaluation du pseudo en-tête de réponse +X-Sendfile
Syntaxe:ProxySCGISendfile On|Off|nom-en-tête
Défaut:ProxySCGISendfile Off
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Extension
Module:mod_proxy_scgi
+

La directive ProxySCGISendfile permet au + serveur cible SCGI de faire servir les fichiers directement par la + passerelle. Ceci s'avère bénéfique en matière de performances — + httpd peut alors utiliser sendfile ou d'autres + optimisations, ce qui n'est pas possible si les fichiers passent par + le socket du serveur cible. En outre, les fichiers ne sont transmis + qu'une seule fois.

+

L'argument de la directive + ProxySCGISendfile détermine le comportement + de la passerelle :

+
+
Off
+
Aucun traitement particulier n'est effectué.
+ +
On
+
La passerelle recherche un en-tête dans la réponse du serveur + cible nommé X-Sendfile, et interprète sa valeur comme + le nom du fichier à servir. L'en-tête est ensuite supprimé de la + réponse finale. Cet argument produit le même effet que + ProxySCGISendfile X-Sendfile.
+ +
toute autre valeur
+
Identique à On, mais au lieu de rechercher le nom + d'en-tête codé en dur X-Sendfile, c'est la valeur de + l'argument qui constitue le nom de l'en-tête à rechercher.
+
+ +

Exemple

    # Utilise le nom d'en-tête par défaut (X-Sendfile)
+    ProxySCGISendfile On
+    
+    # Utilise un nom d'en-tête différent
+    ProxySCGISendfile X-Send-Static
+
+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_proxy_scgi.xml.fr b/docs/manual/mod/mod_proxy_scgi.xml.fr new file mode 100644 index 0000000000..2a914cfb26 --- /dev/null +++ b/docs/manual/mod/mod_proxy_scgi.xml.fr @@ -0,0 +1,199 @@ + + + + + + + + + + + +mod_proxy_scgi +Module fournissant le support de la passerelle SCGI à +mod_proxy +Extension +mod_proxy_scgi.c +proxy_scgi_module + + +

Pour pouvoir fonctionner, ce module requiert le + chargement de mod_proxy. Il fournit le support du + protocole SCGI, version + 1.

+ +

Ainsi, pour être en mesure de traiter le protocole SCGI, + mod_proxy et mod_proxy_scgi + doivent être chargés dans le serveur.

+ + Avertissement +

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

+
+
+ +mod_proxy +mod_proxy_balancer + +
Exemples +

Rappelez-vous, pour que les exemples suivants puissent + fonctionner, vous devez activer mod_proxy et + mod_proxy_scgi.

+ + Passerelle simple + + ProxyPass "/scgi-bin/" "scgi://localhost:4000/" + + + +

La passerelle à répartition de charge nécessite le chargement du + module mod_proxy_balancer et d'au moins un module + fournissant un algorithme de répartition de charge, comme + mod_lbmethod_byrequests en plus des modules + déjà cités. mod_lbmethod_byrequests est le module + par défaut et sera utilisé dans cet exemple de configuration.

+ + Passerelle à répartition de charge + +ProxyPass "/scgi-bin/" "balancer://somecluster/" +<Proxy balancer://somecluster> + BalancerMember scgi://localhost:4000 + BalancerMember scgi://localhost:4001 +</Proxy> + + +
+ +
Variables d'environnement +

En plus des directives de configuration qui permettent de + contrôler le comportement de mod_proxy, une + variable d'environnement peut aussi + contrôler le fournisseur de protocole SCGI :

+
+
proxy-scgi-pathinfo
+
Par défaut, mod_proxy_scgi ne créera ni + exportera jamais la variable d'environnement + PATH_INFO. Ceci permet au serveur SCGI d'arrière-plan + de déterminer correctement SCRIPT_NAME et + Script-URI, et d'être en conformité avec la section + 3.3 de la RFC 3875. Si au contraire vous souhaitez que + mod_proxy_scgi génère une estimation la plus + précise possible de PATH_INFO, définissez cette + variable d'environnement. La variable doit être définie avant + que la directive SetEnv ne soit effective. Il est possible + d'utiliser à la place la directive SetEnvIf : SetEnvIf Request_URI . proxy-scgi-pathinfo +
+
+
+ + +ProxySCGISendfile +Active l'évaluation du pseudo en-tête de réponse +X-Sendfile +ProxySCGISendfile On|Off|nom-en-tête +ProxySCGISendfile Off +server configvirtual host +directory + + +

La directive ProxySCGISendfile permet au + serveur cible SCGI de faire servir les fichiers directement par la + passerelle. Ceci s'avère bénéfique en matière de performances — + httpd peut alors utiliser sendfile ou d'autres + optimisations, ce qui n'est pas possible si les fichiers passent par + le socket du serveur cible. En outre, les fichiers ne sont transmis + qu'une seule fois.

+

L'argument de la directive + ProxySCGISendfile détermine le comportement + de la passerelle :

+
+
Off
+
Aucun traitement particulier n'est effectué.
+ +
On
+
La passerelle recherche un en-tête dans la réponse du serveur + cible nommé X-Sendfile, et interprète sa valeur comme + le nom du fichier à servir. L'en-tête est ensuite supprimé de la + réponse finale. Cet argument produit le même effet que + ProxySCGISendfile X-Sendfile.
+ +
toute autre valeur
+
Identique à On, mais au lieu de rechercher le nom + d'en-tête codé en dur X-Sendfile, c'est la valeur de + l'argument qui constitue le nom de l'en-tête à rechercher.
+
+ + Exemple + + # Utilise le nom d'en-tête par défaut (X-Sendfile) + ProxySCGISendfile On + + # Utilise un nom d'en-tête différent + ProxySCGISendfile X-Send-Static + + +
+
+ + +ProxySCGIInternalRedirect +Active ou désactive les réponses de redirection interne en +provenance du serveur cible. +ProxySCGIInternalRedirect On|Off|Headername +ProxySCGIInternalRedirect On +server configvirtual host +directory +Le paramètre Headername est disponible depuis +la version 2.4.13 du serveur HTTP Apache. + + +

La directive ProxySCGIInternalRedirect + permet au serveur cible de rediriger en interne la passerelle vers + une URL différente. Cette fonctionnalité trouve son origine dans + mod_cgi qui redirige la réponse en interne si + l'état de la réponse est OK (200), et si + la réponse contient un en-tête Location (ou un autre + en-tête défini) dont la valeur + débute par un slash (/). Cette valeur est interprétée + comme une nouvelle URL locale vers laquelle Apache httpd effectue sa + redirection.

+ +

De ce point de vue, mod_proxy_scgi fait la même + chose que mod_cgi, mais vous pouvez en plus + désactiver la fonctionnalité ou spécifier l'utilisation d'un en-tête + autre que Location.

+ + Exemple + + ProxySCGIInternalRedirect Off +# Django et certains autres frameworks qualifient pleinement les "URLs +# locales" définies par l'application ; il faut donc utiliser un autre +# en-tête. +<Location /django-app/> + ProxySCGIInternalRedirect X-Location +</Location> + + +
+
+ +
diff --git a/docs/manual/mod/mod_proxy_scgi.xml.meta b/docs/manual/mod/mod_proxy_scgi.xml.meta index 143cd4fa7d..a125bc5ade 100644 --- a/docs/manual/mod/mod_proxy_scgi.xml.meta +++ b/docs/manual/mod/mod_proxy_scgi.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_ratelimit.html b/docs/manual/mod/mod_ratelimit.html index 7e6095c685..87ef11a7d6 100644 --- a/docs/manual/mod/mod_ratelimit.html +++ b/docs/manual/mod/mod_ratelimit.html @@ -3,3 +3,7 @@ URI: mod_ratelimit.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_ratelimit.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_ratelimit.html.fr b/docs/manual/mod/mod_ratelimit.html.fr new file mode 100644 index 0000000000..12ee29c5d0 --- /dev/null +++ b/docs/manual/mod/mod_ratelimit.html.fr @@ -0,0 +1,101 @@ + + + + + +mod_ratelimit - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_ratelimit

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Limitation de la bande passante pour les clients
Statut:Extension
Identificateur de Module:ratelimit_module
Fichier Source:mod_ratelimit.c
Compatibilité:rate-initial-burst est disponible à partir de la +version 2.4.24 du serveur HTTP Apache.
+

Sommaire

+ + +

Ce module fournit un filtre RATE_LIMIT pour limiter la +bande passante des clients. Cette contrainte s'applique à chaque réponse HTTP au +moment où elle est envoyée au client ; elle n'affecte pas les autres échanges +entre le client et le serveur. La variable d'environnement +rate-limit permet de spécifier, en kb/s, le débit de la +connexion à simuler.

+ +

Optionnellement, il est possible, via la variable d'environnement +rate-initial-burst, de définir une quantité de données en +kOctets à transmettre à pleine vitesse avant de limiter la bande passante à la +valeur voulue.

+ +

Exemple de configuration

<Location "/downloads">
+    SetOutputFilter RATE_LIMIT
+    SetEnv rate-limit 400
+    SetEnv rate-initial-burst 512
+</Location>
+
+Si la valeur affectée à rate-limit dépasse la valeur maximale à +affecter à un entier, la limitation de bande passante sera désactivée. Si la +valeur affectée à rate-limit-burst dépasse la valeur maximale à +affecter à un entier, la transmission du burst initial sans limitation de bande +passante sera désactivée. +
+ +
+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ratelimit.xml.fr b/docs/manual/mod/mod_ratelimit.xml.fr new file mode 100644 index 0000000000..890ddb25bf --- /dev/null +++ b/docs/manual/mod/mod_ratelimit.xml.fr @@ -0,0 +1,74 @@ + + + + + + + + + + + + +mod_ratelimit +Limitation de la bande passante pour les clients +Extension +mod_ratelimit.c +ratelimit_module +rate-initial-burst est disponible à partir de la +version 2.4.24 du serveur HTTP Apache. + + + +

Ce module fournit un filtre RATE_LIMIT pour limiter la +bande passante des clients. Cette contrainte s'applique à chaque réponse HTTP au +moment où elle est envoyée au client ; elle n'affecte pas les autres échanges +entre le client et le serveur. La variable d'environnement +rate-limit permet de spécifier, en kb/s, le débit de la +connexion à simuler.

+ +

Optionnellement, il est possible, via la variable d'environnement +rate-initial-burst, de définir une quantité de données en +kOctets à transmettre à pleine vitesse avant de limiter la bande passante à la +valeur voulue.

+ +Exemple de configuration + +<Location "/downloads"> + SetOutputFilter RATE_LIMIT + SetEnv rate-limit 400 + SetEnv rate-initial-burst 512 +</Location> + + + +Si la valeur affectée à rate-limit dépasse la valeur maximale à +affecter à un entier, la limitation de bande passante sera désactivée. Si la +valeur affectée à rate-limit-burst dépasse la valeur maximale à +affecter à un entier, la transmission du burst initial sans limitation de bande +passante sera désactivée. + + + + +
+ +
+ diff --git a/docs/manual/mod/mod_ratelimit.xml.meta b/docs/manual/mod/mod_ratelimit.xml.meta index 472bc80e47..9cd2c2d9d2 100644 --- a/docs/manual/mod/mod_ratelimit.xml.meta +++ b/docs/manual/mod/mod_ratelimit.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_reflector.html b/docs/manual/mod/mod_reflector.html index 2d220f6714..788294bf23 100644 --- a/docs/manual/mod/mod_reflector.html +++ b/docs/manual/mod/mod_reflector.html @@ -3,3 +3,7 @@ URI: mod_reflector.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_reflector.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_reflector.html.fr b/docs/manual/mod/mod_reflector.html.fr new file mode 100644 index 0000000000..7a7416f1bd --- /dev/null +++ b/docs/manual/mod/mod_reflector.html.fr @@ -0,0 +1,129 @@ + + + + + +mod_reflector - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_reflector

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Renvoie un corps de requête comme réponse via la pile de +filtres en sortie.
Statut:Base
Identificateur de Module:reflector_module
Fichier Source:mod_reflector.c
Compatibilité:Versions 2.3 et ultérieures
+

Sommaire

+ +

Ce module permet de renvoyer un corps de requête au client, après + l'avoir fait passer par la pile de filtres en sortie. Une chaîne de + filtres configurée de manière appropriée peut être utilisée pour + transformer la requête en réponse. Ce module peut ainsi être utilisé + pour transformer un filtre en sortie en service HTTP.

+
+ +
top
+
+

Exemples

+
+
Service de compression
+
Fait passer le corps de la requête par le filtre DEFLATE pour le + compresser. Cette requête nécessite un en-tête Content-Encoding + contenant la valeur "gzip" pour que le filtre renvoie les données + compressées. +
<Location "/compress">
+    SetHandler reflector
+    SetOutputFilter DEFLATE
+</Location>
+ +
+ +
Service d'abaissement de l'échantillonnage d'image
+
Fait passer le corps de la requête par un filtre d'abaissement + de l'échantillonnage d'image, et renvoie le résultat au client. +
<Location "/downsample">
+    SetHandler reflector
+    SetOutputFilter DOWNSAMPLE
+</Location>
+ +
+
+
+
top
+

Directive ReflectorHeader

+ + + + + + + +
Description:Renvoie un en-tête d'entrée dans les en-têtes de sortie
Syntaxe:ReflectorHeader en-tête-entrée [en-tête-sortie]
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:Options
Statut:Base
Module:mod_reflector
+

Cette directive permet de contrôler la répercution des en-têtes + de la requête dans la réponse. Le premier argument correspond au nom + de l'en-tête à copier. Si le second argument (optionnel) est + spécifié, il définit le nom sous lequel l'en-tête sera répercuté + dans la réponse ; dans le cas contraire, c'est le nom de l'en-tête + original qui sera utilisé.

+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_reflector.xml.fr b/docs/manual/mod/mod_reflector.xml.fr new file mode 100644 index 0000000000..9899cc4d80 --- /dev/null +++ b/docs/manual/mod/mod_reflector.xml.fr @@ -0,0 +1,89 @@ + + + + + + + + + + + +mod_reflector +Renvoie un corps de requête comme réponse via la pile de +filtres en sortie. +Base +mod_reflector.c +reflector_module +Versions 2.3 et ultérieures + + +

Ce module permet de renvoyer un corps de requête au client, après + l'avoir fait passer par la pile de filtres en sortie. Une chaîne de + filtres configurée de manière appropriée peut être utilisée pour + transformer la requête en réponse. Ce module peut ainsi être utilisé + pour transformer un filtre en sortie en service HTTP.

+
+ +
Exemples +
+
Service de compression
+
Fait passer le corps de la requête par le filtre DEFLATE pour le + compresser. Cette requête nécessite un en-tête Content-Encoding + contenant la valeur "gzip" pour que le filtre renvoie les données + compressées. + +<Location "/compress"> + SetHandler reflector + SetOutputFilter DEFLATE +</Location> + +
+ +
Service d'abaissement de l'échantillonnage d'image
+
Fait passer le corps de la requête par un filtre d'abaissement + de l'échantillonnage d'image, et renvoie le résultat au client. + +<Location "/downsample"> + SetHandler reflector + SetOutputFilter DOWNSAMPLE +</Location> + +
+
+
+ + +ReflectorHeader +Renvoie un en-tête d'entrée dans les en-têtes de sortie +ReflectorHeader en-tête-entrée [en-tête-sortie] +server configvirtual host +directory.htaccess +Options + + +

Cette directive permet de contrôler la répercution des en-têtes + de la requête dans la réponse. Le premier argument correspond au nom + de l'en-tête à copier. Si le second argument (optionnel) est + spécifié, il définit le nom sous lequel l'en-tête sera répercuté + dans la réponse ; dans le cas contraire, c'est le nom de l'en-tête + original qui sera utilisé.

+
+
+ +
diff --git a/docs/manual/mod/mod_reflector.xml.meta b/docs/manual/mod/mod_reflector.xml.meta index d7945b496e..70e22cc937 100644 --- a/docs/manual/mod/mod_reflector.xml.meta +++ b/docs/manual/mod/mod_reflector.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_reqtimeout.html b/docs/manual/mod/mod_reqtimeout.html index 08f5a21fa3..e44a50bb42 100644 --- a/docs/manual/mod/mod_reqtimeout.html +++ b/docs/manual/mod/mod_reqtimeout.html @@ -3,3 +3,7 @@ URI: mod_reqtimeout.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_reqtimeout.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_reqtimeout.html.fr b/docs/manual/mod/mod_reqtimeout.html.fr new file mode 100644 index 0000000000..dd7b9261f8 --- /dev/null +++ b/docs/manual/mod/mod_reqtimeout.html.fr @@ -0,0 +1,213 @@ + + + + + +mod_reqtimeout - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_reqtimeout

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Définit le délai maximum et le taux de transfert des +données minimum pour la réception des requêtes +
Statut:Extension
Identificateur de Module:reqtimeout_module
Fichier Source:mod_reqtimeout.c
+
+ +
top
+
+

Exemples

+ +
    +
  1. + Accorde 10 secondes pour la réception des en-têtes de la requête + et 30 secondes pour la réception du corps : + +
    RequestTimeout headerinit=10 body=30
    + +
  2. + +
  3. + Accorde au moins 10 secondes pour la réception du corps de + la requête. Si le client envoie des données, augmente ce délai + d'une seconde pour chaque paquet de 1000 octets reçus, sans + limite supérieure (sauf si une limite a été + spécifiée via la directive LimitRequestBody) : + +
    RequestReadTimeout body=10,MinRate=1000
    + +
  4. + +
  5. + Accorde au moins 10 secondes pour la réception de de la + requête, en-têtes inclus. Si le client envoie des données, augmente ce délai + d'une seconde pour chaque paquet de 500 octets reçus, mais + n'alloue que 30 secondes pour la requête, en-têtes inclus : + +
    RequestReadTimeout header=10-30,MinRate=500
    + +
  6. + +
  7. + En général, un serveur doit avoir ses délais d'en-tête et de + corps configurés. Si les serveurs virtuels http et https + utilisent une configuration commune, les délais ne doivent pas + être définis trop bas : + +
    RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
    + +
  8. + +
+
+
top
+

Directive RequestReadTimeout

+ + + + + + + + +
Description:Définit des délais maximums pour la réception des en-têtes +et corps des requêtes en provenance du client. +
Syntaxe:RequestReadTimeout +[header=délai[-délai-maxi][,MinRate=taux-mini] +[body=délai[-délai-maxi][,MinRate=taux-mini] +
Défaut:header=20-40,MinRate=500 body=20,MinRate=500
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_reqtimeout
Compatibilité:Désactivée par défaut jusqu'à la version 2.3.14.
+

Cette directive permet de définir différents délais pour la + réception des en-têtes et corps des requêtes en provenance du + client. Si le client ne parvient pas à respecter ces délais, un code + d'erreur 408 REQUEST TIME OUT est envoyé.

+ +

Pour les serveurs virtuels SSL, le délai concernant les en-têtes + inclut le temps nécessaire à la négociation SSL initiale. Si le + navigateur du client est configuré pour demander des listes de + révocations de certificats, et si le serveur correspondant n'est pas + disponible, le délai avant lequel le navigateur va abandonner son + attente de CRL au cours de la négociation SSL initiale peut être + assez important. Par conséquent, les valeurs de délais d'en-têtes ne + doivent pas être trop basses pour les serveurs virtuels SSL. Le délai + concernant le corps inclut le temps nécessaire à la renégociation + SSL (si elle est nécessaire).

+ +

Lorsqu'une directive AcceptFilter est active (ce qui est en + général le cas sous Linux et FreeBSD), le socket n'est envoyé au + processus du serveur qu'après la réception du premier octet (ou de + l'ensemble de la requête si httpready est défini). Le + délai configuré pour les en-têtes via la directive + RequestReadTimeout n'entre en ligne de compte qu'une fois + le socket reçu par le processus du serveur.

+ +

Il existe deux méthodes pour spécifier le délai (pour l'en-tête + ou le corps) : +

+ +
    + +
  • Valeur de délai fixe:
    + +

    type=délai

    + +

    Le temps en secondes alloué pour la lecture des en-têtes ou du + corps de la requête. La valeur 0 signifie aucune limite.

    +
  • + +
  • Désactivation du module pour un serveur virtuel ::
    + +

    header=0 body=0

    + +

    Avec cet exemple, le module mod_reqtimeout est + complètement désactivé.

    +
  • + +
  • La valeur du délai qui est augmentée lorsque des données + sont reçues :
    +

    + type=délai,MinRate=taux-mini +

    + +

    Identique à ce qui précède, mais chaque fois que des données sont + reçues, la valeur du délai est augmentée en fonction du taux-mini + spécifié (en octets par seconde).

    +
  • + +
  • La valeur du délai augmente lorsque des données sont + reçues, jusqu'à une limite supérieure:
    +

    + type=délai-délai-maxi,MinRate=taux-mini +

    + +

    Identique à ce qui précède, mais le délai n'augmentera pas au + delà de la borne supérieure du délai spécifiée.

    +
  • + +
+ + + + + +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_reqtimeout.xml.fr b/docs/manual/mod/mod_reqtimeout.xml.fr new file mode 100644 index 0000000000..245b37e92d --- /dev/null +++ b/docs/manual/mod/mod_reqtimeout.xml.fr @@ -0,0 +1,177 @@ + + + + + + + + + + + +mod_reqtimeout +Définit le délai maximum et le taux de transfert des +données minimum pour la réception des requêtes + +Extension +mod_reqtimeout.c +reqtimeout_module + +
Exemples + +
    +
  1. + Accorde 10 secondes pour la réception des en-têtes de la requête + et 30 secondes pour la réception du corps : + + + RequestTimeout headerinit=10 body=30 + +
  2. + +
  3. + Accorde au moins 10 secondes pour la réception du corps de + la requête. Si le client envoie des données, augmente ce délai + d'une seconde pour chaque paquet de 1000 octets reçus, sans + limite supérieure (sauf si une limite a été + spécifiée via la directive LimitRequestBody) : + + + RequestReadTimeout body=10,MinRate=1000 + +
  4. + +
  5. + Accorde au moins 10 secondes pour la réception de de la + requête, en-têtes inclus. Si le client envoie des données, augmente ce délai + d'une seconde pour chaque paquet de 500 octets reçus, mais + n'alloue que 30 secondes pour la requête, en-têtes inclus : + + + RequestReadTimeout header=10-30,MinRate=500 + +
  6. + +
  7. + En général, un serveur doit avoir ses délais d'en-tête et de + corps configurés. Si les serveurs virtuels http et https + utilisent une configuration commune, les délais ne doivent pas + être définis trop bas : + + + RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500 + +
  8. + +
+
+ + +RequestReadTimeout +Définit des délais maximums pour la réception des en-têtes +et corps des requêtes en provenance du client. + +RequestReadTimeout +[header=délai[-délai-maxi][,MinRate=taux-mini] +[body=délai[-délai-maxi][,MinRate=taux-mini] + +header=20-40,MinRate=500 body=20,MinRate=500 +server configvirtual host + +Désactivée par défaut jusqu'à la version 2.3.14. + + +

Cette directive permet de définir différents délais pour la + réception des en-têtes et corps des requêtes en provenance du + client. Si le client ne parvient pas à respecter ces délais, un code + d'erreur 408 REQUEST TIME OUT est envoyé.

+ +

Pour les serveurs virtuels SSL, le délai concernant les en-têtes + inclut le temps nécessaire à la négociation SSL initiale. Si le + navigateur du client est configuré pour demander des listes de + révocations de certificats, et si le serveur correspondant n'est pas + disponible, le délai avant lequel le navigateur va abandonner son + attente de CRL au cours de la négociation SSL initiale peut être + assez important. Par conséquent, les valeurs de délais d'en-têtes ne + doivent pas être trop basses pour les serveurs virtuels SSL. Le délai + concernant le corps inclut le temps nécessaire à la renégociation + SSL (si elle est nécessaire).

+ +

Lorsqu'une directive AcceptFilter est active (ce qui est en + général le cas sous Linux et FreeBSD), le socket n'est envoyé au + processus du serveur qu'après la réception du premier octet (ou de + l'ensemble de la requête si httpready est défini). Le + délai configuré pour les en-têtes via la directive + RequestReadTimeout n'entre en ligne de compte qu'une fois + le socket reçu par le processus du serveur.

+ +

Il existe deux méthodes pour spécifier le délai (pour l'en-tête + ou le corps) : +

+ +
    + +
  • Valeur de délai fixe:
    + + type=délai + +

    Le temps en secondes alloué pour la lecture des en-têtes ou du + corps de la requête. La valeur 0 signifie aucune limite.

    +
  • + +
  • Désactivation du module pour un serveur virtuel ::
    + + header=0 body=0 + +

    Avec cet exemple, le module mod_reqtimeout est + complètement désactivé.

    +
  • + +
  • La valeur du délai qui est augmentée lorsque des données + sont reçues :
    + + type=délai,MinRate=taux-mini + + +

    Identique à ce qui précède, mais chaque fois que des données sont + reçues, la valeur du délai est augmentée en fonction du taux-mini + spécifié (en octets par seconde).

    +
  • + +
  • La valeur du délai augmente lorsque des données sont + reçues, jusqu'à une limite supérieure:
    + + type=délai-délai-maxi,MinRate=taux-mini + + +

    Identique à ce qui précède, mais le délai n'augmentera pas au + delà de la borne supérieure du délai spécifiée.

    +
  • + +
+ + + + +
+ +
+ +
diff --git a/docs/manual/mod/mod_reqtimeout.xml.meta b/docs/manual/mod/mod_reqtimeout.xml.meta index ac7d1faf4c..01ba09f783 100644 --- a/docs/manual/mod/mod_reqtimeout.xml.meta +++ b/docs/manual/mod/mod_reqtimeout.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_request.html b/docs/manual/mod/mod_request.html index 0340c0eb62..62bdbfddf7 100644 --- a/docs/manual/mod/mod_request.html +++ b/docs/manual/mod/mod_request.html @@ -4,6 +4,10 @@ URI: mod_request.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_request.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_request.html.tr.utf8 Content-Language: tr Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_request.html.fr b/docs/manual/mod/mod_request.html.fr new file mode 100644 index 0000000000..26932a0134 --- /dev/null +++ b/docs/manual/mod/mod_request.html.fr @@ -0,0 +1,138 @@ + + + + + +mod_request - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_request

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ + + + +
Description:Filtres permettant de traiter et de mettre à disposition +les corps de requêtes HTTP
Statut:Base
Identificateur de Module:request_module
Fichier Source:mod_request.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+
+ + +
top
+

Directive KeptBodySize

+ + + + + + + +
Description:Conserve le corps de la requête à concurrence de la taille +maximale spécifiée, pour une utilisation éventuelle par des filtres +comme mod_include.
Syntaxe:KeptBodySize taille maximale en octets
Défaut:KeptBodySize 0
Contexte:répertoire
Statut:Base
Module:mod_request
+

Dans une situation normale, les gestionnaires de requête tels que + le gestionnaire par défaut des fichiers statiques suppriment le + corps de la requête s'il n'est pas nécessaire au gestionnaire de + requête. Il en résulte que les filtres comme mod_include sont + limités à des requêtes GET lors de l'inclusion d'autres + URLs en tant que sous-requêtes, et ceci même si la requête originale + était une requête POST, car le corps de la requête a + été supprimé et n'est donc plus disponible une fois le traitement du + filtre mis en oeuvre.

+ +

Lorsque l'argument de cette directive a une valeur supérieure à + zéro, les gestionnaires de requête qui suppriment habituellement les + corps de requête vont alors conserver ces corps de requête, à + concurrence de la taille maximale spécifiée, pour être + éventuellement utilisés par des filtres. Dans le cas du filtre + mod_include, une tentative de requête POST pour un + fichier shtml statique se traduira par des sous-requêtes + POST, et non par des sous-requêtes GET + comme avant.

+ +

Cette fonctionnalité permet de découper des pages web complexes + et des applications web en petits éléments individuels, et de + combiner ces éléments avec la structure de la page web sous-jacente + en utilisant mod_include. Les éléments peuvent se + présenter sous la forme de programmes CGI, de langages de scripts, + ou d'URLs issues d'un mandataire inverse dans l'espace d'URL d'un + autre serveur en utilisant mod_proxy.

+ +

Note : Chaque requête dont le corps est ainsi + conservé doit être enregistrée temporairement en mémoire vive + jusqu'à la fin du traitement de la requête. Il faut donc s'assurer + que la mémoire RAM du serveur est suffisante pour pouvoir supporter + la charge induite. L'utilisation de cette directive doit être + limitée à certaines portions de votre espace d'URL bien précises qui + le nécessitent, et en spécifiant comme taille maximale une valeur la + plus petite possible, mais tout de même suffisante pour un corps de + requête.

+ +

Si la taille de la requête envoyée par le client dépasse la taille + maximale autorisée par cette directive, le serveur renverra l'erreur + 413 Request Entity Too Large.

+ + +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_request.xml.fr b/docs/manual/mod/mod_request.xml.fr new file mode 100644 index 0000000000..744ad895e7 --- /dev/null +++ b/docs/manual/mod/mod_request.xml.fr @@ -0,0 +1,94 @@ + + + + + + + + + + + +mod_request +Filtres permettant de traiter et de mettre à disposition +les corps de requêtes HTTP +Base +mod_request.c +request_module +Disponible depuis la version 2.3 d'Apache + + +KeptBodySize +Conserve le corps de la requête à concurrence de la taille +maximale spécifiée, pour une utilisation éventuelle par des filtres +comme mod_include. +KeptBodySize taille maximale en octets +KeptBodySize 0 +directory + + + +

Dans une situation normale, les gestionnaires de requête tels que + le gestionnaire par défaut des fichiers statiques suppriment le + corps de la requête s'il n'est pas nécessaire au gestionnaire de + requête. Il en résulte que les filtres comme mod_include sont + limités à des requêtes GET lors de l'inclusion d'autres + URLs en tant que sous-requêtes, et ceci même si la requête originale + était une requête POST, car le corps de la requête a + été supprimé et n'est donc plus disponible une fois le traitement du + filtre mis en oeuvre.

+ +

Lorsque l'argument de cette directive a une valeur supérieure à + zéro, les gestionnaires de requête qui suppriment habituellement les + corps de requête vont alors conserver ces corps de requête, à + concurrence de la taille maximale spécifiée, pour être + éventuellement utilisés par des filtres. Dans le cas du filtre + mod_include, une tentative de requête POST pour un + fichier shtml statique se traduira par des sous-requêtes + POST, et non par des sous-requêtes GET + comme avant.

+ +

Cette fonctionnalité permet de découper des pages web complexes + et des applications web en petits éléments individuels, et de + combiner ces éléments avec la structure de la page web sous-jacente + en utilisant mod_include. Les éléments peuvent se + présenter sous la forme de programmes CGI, de langages de scripts, + ou d'URLs issues d'un mandataire inverse dans l'espace d'URL d'un + autre serveur en utilisant mod_proxy.

+ +

Note : Chaque requête dont le corps est ainsi + conservé doit être enregistrée temporairement en mémoire vive + jusqu'à la fin du traitement de la requête. Il faut donc s'assurer + que la mémoire RAM du serveur est suffisante pour pouvoir supporter + la charge induite. L'utilisation de cette directive doit être + limitée à certaines portions de votre espace d'URL bien précises qui + le nécessitent, et en spécifiant comme taille maximale une valeur la + plus petite possible, mais tout de même suffisante pour un corps de + requête.

+ +

Si la taille de la requête envoyée par le client dépasse la taille + maximale autorisée par cette directive, le serveur renverra l'erreur + 413 Request Entity Too Large.

+ +
+ +la documentation de mod_include +la documentation de mod_auth_form +
+ +
diff --git a/docs/manual/mod/mod_request.xml.meta b/docs/manual/mod/mod_request.xml.meta index 0b2b8c4ac7..61e71b948c 100644 --- a/docs/manual/mod/mod_request.xml.meta +++ b/docs/manual/mod/mod_request.xml.meta @@ -8,6 +8,7 @@ en + fr tr diff --git a/docs/manual/mod/mod_rewrite.html.fr b/docs/manual/mod/mod_rewrite.html.fr index c697b9f5eb..73cea5c811 100644 --- a/docs/manual/mod/mod_rewrite.html.fr +++ b/docs/manual/mod/mod_rewrite.html.fr @@ -29,6 +29,8 @@

Langues Disponibles:  en  |  fr 

+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
diff --git a/docs/manual/mod/mod_session.html b/docs/manual/mod/mod_session.html index 79b314b8d2..77ecb721cd 100644 --- a/docs/manual/mod/mod_session.html +++ b/docs/manual/mod/mod_session.html @@ -3,3 +3,7 @@ URI: mod_session.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_session.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_session.html.fr b/docs/manual/mod/mod_session.html.fr new file mode 100644 index 0000000000..ba7882b36b --- /dev/null +++ b/docs/manual/mod/mod_session.html.fr @@ -0,0 +1,618 @@ + + + + + +mod_session - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_session

+
+

Langues Disponibles:  en  | + fr 

+
+
Description:Ce module fournit un moteur de réécriture à base de règles permettant de réécrire les URLs des requêtes à la volée
+ + + +
Description:Support des sessions
Statut:Extension
Identificateur de Module:session_module
Fichier Source:mod_session.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Avertissement

+

Le module session fait usage des cookies HTTP, et peut à ce + titre être victime d'attaques de type Cross Site Scripting, ou + divulguer des informations à caractère privé aux clients. Veuillez + vous assurer que les risques ainsi encourus ont été pris en compte + avant d'activer le support des sessions sur votre serveur.

+
+ +

Ce module fournit le support d'une interface de session pour + chaque utilisateur au niveau du serveur global. Les sessions + permettent de transmettre diverses informations : l'utilisateur + est-il connecté ou non, ou toute autre information qui doit être + conservée d'une requête à l'autre.

+ +

Les sessions peuvent être stockées sur le serveur, ou au niveau + du navigateur. Les sessions peuvent aussi être chiffrées pour une + sécurité accrue. Ces fonctionnalités sont réparties entre différents + modules complémentaires de mod_session : + mod_session_crypto, + mod_session_cookie et + mod_session_dbd. Chargez les modules appropriés + en fonction des besoins du serveur (soit statiquement à la + compilation, soit dynamiquement via la directive LoadModule).

+ +

Les sessions peuvent être manipulées par d'autres modules qui + dépendent de la session, ou la session peut être lue et écrite dans + des variables d'environnement et des en-têtes HTTP, selon les + besoins.

+ + + +
top
+
+

Qu'est-ce qu'une session ?

+

Au coeur de l'interface de session se trouve une table de + paires clé/valeur qui sont accessibles d'une requête du navigateur + à l'autre. Les valeurs de clés peuvent se voir affecter toute chaîne + valide, en fonction des besoins de l'application qui fait usage de + la session.

+ +

Une "session" est une chaîne + application/x-www-form-urlencoded qui contient la + paire clé/valeur définie par la specification HTML.

+ +

Selon les souhaits de l'administrateur, la session peut être + chiffrée et codée en base64 avant d'être soumise au dispositif de + stockage.

+ +
top
+
+

Qui peut utiliser une session + ?

+

L'interface de session a été conçue à l'origine pour être + utilisée par d'autres modules du serveur comme + mod_auth_form ; les applications à base de + programmes CGI peuvent cependant se voir accorder l'accès au + contenu d'une session via la variable d'environnement + HTTP_SESSION. Il est possible de modifier et/ou de mettre à jour + une session en insérant un en-tête de réponse HTTP contenant les + nouveaux paramètres de session.

+ +
top
+
+

Stockage des sessions sur le + serveur

+

Apache peut être configuré pour stocker les sessions + utilisateurs sur un serveur particulier ou un groupe de serveurs. + Cette fonctionnalité est similaire aus sessions disponibles sur + les serveurs d'applications courants.

+ +

Selon la configuration, les sessions sont suivies à + partir d'un identifiant de session stocké dans un cookie, ou + extrait de la chaîne de paramètres de l'URL, comme dans les + requêtes GET courantes.

+ +

Comme le contenu de la session est stocké exclusivement sur le + serveur, il est nécessaire de préserver la confidentialité de ce + contenu. Ceci a des implications en matière de performance et de + consommation de ressources lorsqu'un grand nombre de sessions est + stocké, ou lorsqu'un grand nombre de serveurs doivent se partager + les sessions entre eux.

+ +

Le module mod_session_dbd permet de stocker + les sessions utilisateurs dans une base de données SQL via le + module mod_dbd.

+ +
top
+
+

Stockage des sessions au niveau + du navigateur

+

Dans les environnements à haut trafic où le stockage d'une + session sur un serveur consomme trop + de ressources, il est possible de stocker le contenu de la session + dans un cookie au niveau du navigateur client.

+ +

Ceci a pour avantage de ne nécessiter qu'une quantité minimale de + ressources sur le serveur pour suivre les sessions, et évite à + plusieurs serveurs parmi une forêt de serveurs de devoir partager + les informations de session.

+ +

Le contenu de la session est cependant présenté au client, avec + pour conséquence un risque de perte de confidentialité. Le module + mod_session_crypto peut être configuré pour + chiffrer le contenu de la session avant qu'elle soit stockée au + niveau du client.

+ +

Le module mod_session_cookie permet de stocker + les sessions au niveau du navigateur dans un cookie HTTP.+

+ +
top
+
+

Exemples simples

+ +

La création d'une session consiste simplement à ouvrir la + session, et à décider de l'endroit où elle doit être stockée. Dans + l'exemple suivant, la session sera stockée au niveau du + navigateur, dans un cookie nommé session.

+ +

Session stockée au niveau du navigateur

Session On
+SessionCookieName session path=/
+
+ +

Une session est inutile s'il n'est pas possible d'y lire + ou d'y écrire. L'exemple suivant montre comment des valeurs + peuvent être injectées dans une session à l'aide d'un en-tête de + réponse HTTP prédéterminé nommé + X-Replace-Session.

+ +

Ecriture dans une session

Session On
+SessionCookieName session path=/
+SessionHeader X-Replace-Session
+
+ +

L'en-tête doit contenir des paires clé/valeur sous le même + format que celui de la chaîne d'argument d'une URL, comme dans + l'exemple suivant. Donner pour valeur à une clé la chaîne vide a + pour effet de supprimer la clé de la session.

+ +

Script CGI pour écrire dans une session

#!/bin/bash
+echo "Content-Type: text/plain"
+echo "X-Replace-Session: key1=foo&key2=&key3=bar"
+echo
+env
+
+ +

Selon la configuration, les informations de la session peuvent + être extraites de la variable d'environnement HTTP_SESSION. Par + défaut la session est privée, et cette fonctionnalité doit donc + être explicitement activée via la directive SessionEnv.

+ +

Lecture depuis une session

Session On
+SessionEnv On
+SessionCookieName session path=/
+SessionHeader X-Replace-Session
+
+ +

Une fois la lecture effectuée, la variable CGI + HTTP_SESSION doit contenir la valeur + clé1=foo&clé3=bar.

+ +
top
+
+

Confidentialité des + sessions

+ +

En utilisant la fonctionnalité de votre navigateur "Afficher + les cookies", vous pouvez voir une réprésentation de la session + sous forme de texte en clair. Ceci peut poser problème si le + contenu de la session doit être dissimulé à l'utilisateur final, + ou si un tiers accède sans autorisation aux informations de + session.

+ +

A ce titre, le contenu de la session peut être chiffré à l'aide + du module mod_session_crypto avant d'être stocké + au niveau du navigateur.

+ +

Session chiffrée avant stockage au niveau du + navigateur

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/
+
+ +

La session sera automatiquement déchiffrée à la lecture, et + rechiffrée par Apache lors de la sauvegarde, si bien que + l'application sous-jacente qui utilise la session n'a pas à se + préoccuper de savoir si un chiffrement a été mis en oeuvre ou + non.

+ +

Les sessions stockées sur le serveur plutôt qu'au niveau du + navigateur peuvent aussi être chiffrées, préservant par là-même la + confidentialité lorsque des informations sensibles sont partagées + entre les serveurs web d'une forêt de serveurs à l'aide du module + mod_session_dbd.

+ +
top
+
+

Confidentialité du cookie

+ +

Le mécanisme de cookie HTTP offre aussi des fonctionnalités + quant à la confidentialité, comme la possibilité de + restreindre le transport du cookie aux pages protégées par SSL + seulement, ou l'interdiction pour les scripts java qui + s'exécutent au niveau du navigateur d'obtenir l'accès au contenu + du cookie.

+ +

Avertissement

+

Certaines fonctionnalités de confidentialité du cookie HTTP ne + sont pas standardisées, ou ne sont pas toujours implémentées au + niveau du navigateur. Les modules de session vous permettent de + définir les paramètres du cookie, mais il n'est pas garanti que la + confidentialité sera respectée par le navigateur. Si la sécurité + est la principale préoccupation, chiffrez le contenu de la session + avec le module mod_session_crypto, ou stockez la + session sur le serveur avec le module + mod_session_dbd.

+
+ +

Les paramètres standards du cookie peuvent être spécifiés après + le nom du cookie comme dans l'exemple suivant :

+ +

Définition des paramètres du cookie

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/private;domain=example.com;httponly;secure;
+
+ +

Dans les cas où le serveur Apache sert de frontal pour des + serveurs d'arrière-plan, il est possible de supprimer les cookies + de session des en-têtes HTTP entrants à l'aide de la directive + SessionCookieRemove. Ceci + permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu + des cookies de session. +

+ +
top
+
+

Support des sessions pour + l'authentification

+ +

Comme il est possible de le faire avec de nombreux serveurs + d'applications, les modules d'authentification peuvent utiliser + une session pour stocker le nom d'utilisateur et le mot de passe + après connexion. Le module mod_auth_form par + exemple, sauvegarde les nom de connexion et mot de passe de + l'utilisateur dans une session.

+ +

Authentification à base de formulaire

Session On
+SessionCryptoPassphrase secret
+SessionCookieName session path=/
+AuthFormProvider file
+AuthUserFile "conf/passwd"
+AuthType form
+AuthName "realm"
+#...
+
+ +

Pour la documentation et des exemples complets, voir le module + mod_auth_form.

+ +
top
+
+

Intégration des sessions avec les + applications externes

+ +

Pour que les sessions soient utiles, leur contenu doit être + accessible aux applications externes, et ces dernières doivent + elles-mêmes être capables d'écrire une session.

+ +

L'exemple type est une application qui modifie le mot de passe + d'un utilisateur défini par mod_auth_form. Cette + application doit pouvoir extraire les nom d'utilisateur et mot de + passe courants de la session, effectuer les modifications + demandées, puis écrire le nouveau mot de passe dans la session, + afin que la transition vers le nouveau mot de passe soit + transparente.

+ +

Un autre exemple met en jeu une application qui enregistre un + nouvel utilisateur pour la première fois. Une fois + l'enregistrement terminé, le nom d'utilisateur et le mot de passe + sont écrits dans la session, fournissant là aussi une transition + transparente.

+ +
+
Modules Apache
+
Selon les besoins, les modules du serveur peuvent utiliser + l'API mod_session.h pour lire et écrire dans les + sessions. Les modules tels que mod_auth_form + utilisent ce mécanisme. +
+ +
Programmes CGI et langages de script
+
Les applications qui s'exécutent au sein du serveur web + peuvent éventuellement extraire la valeur de la session de la + variable d'environnement HTTP_SESSION. La session + doit être codée sous la forme d'une chaîne + application/x-www-form-urlencoded selon les + préconisations de la specification HTML. Cette + variable d'environnement est définie via la directive SessionEnv. Un script peut écrire + dans la session en renvoyant un en-tête de réponse + application/x-www-form-urlencoded dont le nom est + défini via la directive SessionHeader. Dans les deux cas, + tout chiffrement ou déchiffrement, ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module mod_session et la + configuration correspondante. +
+ +
Applications situées derrière mod_proxy
+
Si la directive SessionHeader est utilisée pour + définir un en-tête de requête HTTP, la session codée sous la forme + d'une chaîne application/x-www-form-urlencoded + sera accessible pour l'application. Si ce même en-tête est fourni + dans la réponse, sa valeur sera utilisée pour remplacer la + session. Comme précédemment, tout chiffrement ou déchiffrement, + ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module mod_session et la + configuration correspondante.
+ +
Applications indépendantes
+
Les applications peuvent choisir de manipuler la session en + s'affranchissant du contrôle du serveur HTTP Apache. Dans ce cas, + c'est l'application qui doit prendre en charge la lecture de la + session depuis le mécanisme de stockage choisi, son déchiffrement, + sa mise à jour, son chiffrement et sa réécriture vers le mécanisme + de stockage choisi de manière appropriée.
+
+ +
+
top
+

Directive Session

+ + + + + + + + +
Description:Ouvre une session pour le contexte courant
Syntaxe:Session On|Off
Défaut:Session Off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_session
+

La directive Session permet d'ouvrir une + session pour le contexte ou conteneur courant. Les directives + suivantes permettent de définir où la session sera stockée et + comment sera assurée la confidentialité.

+ +
+
top
+

Directive SessionEnv

+ + + + + + + + +
Description:Définit si le contenu de la session doit être enregistré +dans la variable d'environnement HTTP_SESSION
Syntaxe:SessionEnv On|Off
Défaut:SessionEnv Off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_session
+

Lorsque la directive SessionEnv est + définie à On, le contenu de la session est enregistré + dans une variable d'environnement CGI nommée + HTTP_SESSION.

+ +

La chaîne est écrite sous le même format que celui de la chaîne + d'arguments d'une URL, comme dans l'exemple suivant :

+ +

+ clé1=foo&clé3=bar +

+ + +
+
top
+

Directive SessionExclude

+ + + + + + + +
Description:Définit les préfixes d'URLs pour lesquels une session sera +ignorée
Syntaxe:SessionExclude chemin
Défaut:none
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session
+

La directive SessionExclude permet de + définir les préfixes d'URLs pour lesquels la session sera + désactivée. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session. La + directive SessionExclude + l'emporte sur la directive SessionInclude.

+ +

Avertissement

+

Cette directive a un comportement similaire à celui de l'attribut + chemin des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut chemin, qui doit être configuré + séparément.

+ +
+
top
+

Directive SessionExpiryUpdateInterval

+ + + + + + + +
Description:Définit le nombre de secondes dont la durée d'expiration d'une +session peut changer sans que cette session soit mise à jour
Syntaxe:SessionExpiryUpdateInterval interval
Défaut:SessionExpiryUpdateInterval 0 (mise à jour systématique)
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session
+

La directive SessionExpiryUpdateInterval + permet d'éviter le coût de l'écriture d'une session pour chaque + requête en n'effectuant cette mise à jour que lorsque la date + d'expiration a changé. Ceci permet d'améliorer les performances d'un + site web ou de réduire la charge d'une base de données lorsqu'on + utilise mod_session_dbd. La session est + systématiquement mise à jour si les données stockées dans la session + ont été modifiées ou si la durée d'expiration a été modifiée d'une + durée supérieure à l'intervalle spécifié.

+ +

Définir l'intervalle à 0 désactive cette directive, et + l'expiration de la session sera alors rafraîchie pour chaque requête.

+ +

Cette directive n'a d'effet que si on l'utilise en combinaison + avec la directive SessionMaxAge qui active + l'expiration des sessions. Les sessions sans date d'expiration ne + sont écrites que lorsque les données qu'elles renferment ont été + modifiées.

+ +

Avertissement

+

Comme l'expiration de la session n'est pas systématiquement + rafraîchie à chaque requête, une session peut arriver à expiration + plus tôt d'un nombre de secondes spécifié dans le paramètre + interval. Définir un petit intervalle est en général + assez sur, mais en revenche n'a qu'un effet minime sur la prise en + compte des durées d'expiration.

+ +
+
top
+

Directive SessionHeader

+ + + + + + + + +
Description:Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié
Syntaxe:SessionHeader en-tête
Défaut:none
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_session
+

La directive SessionHeader permet de + définir le nom d'un en-tête de réponse HTTP qui, s'il est présent, + sera lu et son contenu écrit dans la session courante.

+ +

Le contenu de l'en-tête doit se présenter sous le même format que + celui de la chaîne d'arguments d'une URL, comme dans l'exemple + suivant :

+ +

+ clé1=foo&clé2=&clé3=bar +

+ +

Si une clé a pour valeur la chaîne vide, elle sera supprimée de + la session.

+ + +
+
top
+

Directive SessionInclude

+ + + + + + + + +
Description:Définit les préfixes d'URL pour lesquels une session est +valide
Syntaxe:SessionInclude chemin
Défaut:toutes URLs
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_session
+

La directive SessionInclude permet de + définir les préfixes d'URL spécifiques pour lesquels une session + sera valide. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session.

+ +

Avertissement

+

Cette directive a un comportement similaire à celui de l'attribut + chemin des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut chemin, qui doit être configuré séparément.

+ +
+
top
+

Directive SessionMaxAge

+ + + + + + + + +
Description:Définit une durée de vie maximale pour la session en +secondes
Syntaxe:SessionMaxAge durée de vie maximale
Défaut:SessionMaxAge 0
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_session
+

La directive SessionMaxAge permet de + définir la durée maximale pendant laquelle une session restera + valide. Lorsqu'une session est sauvegardée, cette durée est + réinitialisée et la session peut continuer d'exister. Si la durée + d'une session dépasse cette limite sans qu'une requête au serveur ne + vienne la rafraîchir, la session va passer hors délai et sera + supprimée. Lorsqu'une session est utilisée pour stocker les + informations de connexion d'un utilisateur, ceci aura pour effet de + le déconnecter automatiquement après le délai spécifié.

+ +

Donner à cette directive la valeur 0 empêche l'expiration de la + session.

+ +
+ +
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session.xml.fr b/docs/manual/mod/mod_session.xml.fr new file mode 100644 index 0000000000..23acd97197 --- /dev/null +++ b/docs/manual/mod/mod_session.xml.fr @@ -0,0 +1,603 @@ + + + + + + + + + + + +mod_session +Support des sessions +Extension +mod_session.c +session_module +Disponible depuis la version 2.3 d'Apache + + + Avertissement +

Le module session fait usage des cookies HTTP, et peut à ce + titre être victime d'attaques de type Cross Site Scripting, ou + divulguer des informations à caractère privé aux clients. Veuillez + vous assurer que les risques ainsi encourus ont été pris en compte + avant d'activer le support des sessions sur votre serveur.

+
+ +

Ce module fournit le support d'une interface de session pour + chaque utilisateur au niveau du serveur global. Les sessions + permettent de transmettre diverses informations : l'utilisateur + est-il connecté ou non, ou toute autre information qui doit être + conservée d'une requête à l'autre.

+ +

Les sessions peuvent être stockées sur le serveur, ou au niveau + du navigateur. Les sessions peuvent aussi être chiffrées pour une + sécurité accrue. Ces fonctionnalités sont réparties entre différents + modules complémentaires de mod_session : + mod_session_crypto, + mod_session_cookie et + mod_session_dbd. Chargez les modules appropriés + en fonction des besoins du serveur (soit statiquement à la + compilation, soit dynamiquement via la directive LoadModule).

+ +

Les sessions peuvent être manipulées par d'autres modules qui + dépendent de la session, ou la session peut être lue et écrite dans + des variables d'environnement et des en-têtes HTTP, selon les + besoins.

+ +
+mod_session_cookie +mod_session_crypto +mod_session_dbd + +
Qu'est-ce qu'une session ? +

Au coeur de l'interface de session se trouve une table de + paires clé/valeur qui sont accessibles d'une requête du navigateur + à l'autre. Les valeurs de clés peuvent se voir affecter toute chaîne + valide, en fonction des besoins de l'application qui fait usage de + la session.

+ +

Une "session" est une chaîne + application/x-www-form-urlencoded qui contient la + paire clé/valeur définie par la specification HTML.

+ +

Selon les souhaits de l'administrateur, la session peut être + chiffrée et codée en base64 avant d'être soumise au dispositif de + stockage.

+ +
+
Qui peut utiliser une session + ? +

L'interface de session a été conçue à l'origine pour être + utilisée par d'autres modules du serveur comme + mod_auth_form ; les applications à base de + programmes CGI peuvent cependant se voir accorder l'accès au + contenu d'une session via la variable d'environnement + HTTP_SESSION. Il est possible de modifier et/ou de mettre à jour + une session en insérant un en-tête de réponse HTTP contenant les + nouveaux paramètres de session.

+ +
+
Stockage des sessions sur le + serveur +

Apache peut être configuré pour stocker les sessions + utilisateurs sur un serveur particulier ou un groupe de serveurs. + Cette fonctionnalité est similaire aus sessions disponibles sur + les serveurs d'applications courants.

+ +

Selon la configuration, les sessions sont suivies à + partir d'un identifiant de session stocké dans un cookie, ou + extrait de la chaîne de paramètres de l'URL, comme dans les + requêtes GET courantes.

+ +

Comme le contenu de la session est stocké exclusivement sur le + serveur, il est nécessaire de préserver la confidentialité de ce + contenu. Ceci a des implications en matière de performance et de + consommation de ressources lorsqu'un grand nombre de sessions est + stocké, ou lorsqu'un grand nombre de serveurs doivent se partager + les sessions entre eux.

+ +

Le module mod_session_dbd permet de stocker + les sessions utilisateurs dans une base de données SQL via le + module mod_dbd.

+ +
+ +
Stockage des sessions au niveau + du navigateur +

Dans les environnements à haut trafic où le stockage d'une + session sur un serveur consomme trop + de ressources, il est possible de stocker le contenu de la session + dans un cookie au niveau du navigateur client.

+ +

Ceci a pour avantage de ne nécessiter qu'une quantité minimale de + ressources sur le serveur pour suivre les sessions, et évite à + plusieurs serveurs parmi une forêt de serveurs de devoir partager + les informations de session.

+ +

Le contenu de la session est cependant présenté au client, avec + pour conséquence un risque de perte de confidentialité. Le module + mod_session_crypto peut être configuré pour + chiffrer le contenu de la session avant qu'elle soit stockée au + niveau du client.

+ +

Le module mod_session_cookie permet de stocker + les sessions au niveau du navigateur dans un cookie HTTP.+

+ +
+ +
Exemples simples + +

La création d'une session consiste simplement à ouvrir la + session, et à décider de l'endroit où elle doit être stockée. Dans + l'exemple suivant, la session sera stockée au niveau du + navigateur, dans un cookie nommé session.

+ + Session stockée au niveau du navigateur + +Session On +SessionCookieName session path=/ + + + +

Une session est inutile s'il n'est pas possible d'y lire + ou d'y écrire. L'exemple suivant montre comment des valeurs + peuvent être injectées dans une session à l'aide d'un en-tête de + réponse HTTP prédéterminé nommé + X-Replace-Session.

+ + Ecriture dans une session + +Session On +SessionCookieName session path=/ +SessionHeader X-Replace-Session + + + +

L'en-tête doit contenir des paires clé/valeur sous le même + format que celui de la chaîne d'argument d'une URL, comme dans + l'exemple suivant. Donner pour valeur à une clé la chaîne vide a + pour effet de supprimer la clé de la session.

+ + Script CGI pour écrire dans une session + +#!/bin/bash +echo "Content-Type: text/plain" +echo "X-Replace-Session: key1=foo&key2=&key3=bar" +echo +env + + + +

Selon la configuration, les informations de la session peuvent + être extraites de la variable d'environnement HTTP_SESSION. Par + défaut la session est privée, et cette fonctionnalité doit donc + être explicitement activée via la directive SessionEnv.

+ + Lecture depuis une session + +Session On +SessionEnv On +SessionCookieName session path=/ +SessionHeader X-Replace-Session + + + +

Une fois la lecture effectuée, la variable CGI + HTTP_SESSION doit contenir la valeur + clé1=foo&clé3=bar.

+ +
+
Confidentialité des + sessions + +

En utilisant la fonctionnalité de votre navigateur "Afficher + les cookies", vous pouvez voir une réprésentation de la session + sous forme de texte en clair. Ceci peut poser problème si le + contenu de la session doit être dissimulé à l'utilisateur final, + ou si un tiers accède sans autorisation aux informations de + session.

+ +

A ce titre, le contenu de la session peut être chiffré à l'aide + du module mod_session_crypto avant d'être stocké + au niveau du navigateur.

+ + Session chiffrée avant stockage au niveau du + navigateur + +Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/ + + + +

La session sera automatiquement déchiffrée à la lecture, et + rechiffrée par Apache lors de la sauvegarde, si bien que + l'application sous-jacente qui utilise la session n'a pas à se + préoccuper de savoir si un chiffrement a été mis en oeuvre ou + non.

+ +

Les sessions stockées sur le serveur plutôt qu'au niveau du + navigateur peuvent aussi être chiffrées, préservant par là-même la + confidentialité lorsque des informations sensibles sont partagées + entre les serveurs web d'une forêt de serveurs à l'aide du module + mod_session_dbd.

+ +
+
Confidentialité du cookie + +

Le mécanisme de cookie HTTP offre aussi des fonctionnalités + quant à la confidentialité, comme la possibilité de + restreindre le transport du cookie aux pages protégées par SSL + seulement, ou l'interdiction pour les scripts java qui + s'exécutent au niveau du navigateur d'obtenir l'accès au contenu + du cookie.

+ + Avertissement +

Certaines fonctionnalités de confidentialité du cookie HTTP ne + sont pas standardisées, ou ne sont pas toujours implémentées au + niveau du navigateur. Les modules de session vous permettent de + définir les paramètres du cookie, mais il n'est pas garanti que la + confidentialité sera respectée par le navigateur. Si la sécurité + est la principale préoccupation, chiffrez le contenu de la session + avec le module mod_session_crypto, ou stockez la + session sur le serveur avec le module + mod_session_dbd.

+
+ +

Les paramètres standards du cookie peuvent être spécifiés après + le nom du cookie comme dans l'exemple suivant :

+ + Définition des paramètres du cookie + +Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/private;domain=example.com;httponly;secure; + + + +

Dans les cas où le serveur Apache sert de frontal pour des + serveurs d'arrière-plan, il est possible de supprimer les cookies + de session des en-têtes HTTP entrants à l'aide de la directive + SessionCookieRemove. Ceci + permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu + des cookies de session. +

+ +
+
Support des sessions pour + l'authentification + +

Comme il est possible de le faire avec de nombreux serveurs + d'applications, les modules d'authentification peuvent utiliser + une session pour stocker le nom d'utilisateur et le mot de passe + après connexion. Le module mod_auth_form par + exemple, sauvegarde les nom de connexion et mot de passe de + l'utilisateur dans une session.

+ + Authentification à base de formulaire + +Session On +SessionCryptoPassphrase secret +SessionCookieName session path=/ +AuthFormProvider file +AuthUserFile "conf/passwd" +AuthType form +AuthName "realm" +#... + + + +

Pour la documentation et des exemples complets, voir le module + mod_auth_form.

+ +
+ +
Intégration des sessions avec les + applications externes + +

Pour que les sessions soient utiles, leur contenu doit être + accessible aux applications externes, et ces dernières doivent + elles-mêmes être capables d'écrire une session.

+ +

L'exemple type est une application qui modifie le mot de passe + d'un utilisateur défini par mod_auth_form. Cette + application doit pouvoir extraire les nom d'utilisateur et mot de + passe courants de la session, effectuer les modifications + demandées, puis écrire le nouveau mot de passe dans la session, + afin que la transition vers le nouveau mot de passe soit + transparente.

+ +

Un autre exemple met en jeu une application qui enregistre un + nouvel utilisateur pour la première fois. Une fois + l'enregistrement terminé, le nom d'utilisateur et le mot de passe + sont écrits dans la session, fournissant là aussi une transition + transparente.

+ +
+
Modules Apache
+
Selon les besoins, les modules du serveur peuvent utiliser + l'API mod_session.h pour lire et écrire dans les + sessions. Les modules tels que mod_auth_form + utilisent ce mécanisme. +
+ +
Programmes CGI et langages de script
+
Les applications qui s'exécutent au sein du serveur web + peuvent éventuellement extraire la valeur de la session de la + variable d'environnement HTTP_SESSION. La session + doit être codée sous la forme d'une chaîne + application/x-www-form-urlencoded selon les + préconisations de la specification HTML. Cette + variable d'environnement est définie via la directive SessionEnv. Un script peut écrire + dans la session en renvoyant un en-tête de réponse + application/x-www-form-urlencoded dont le nom est + défini via la directive SessionHeader. Dans les deux cas, + tout chiffrement ou déchiffrement, ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module mod_session et la + configuration correspondante. +
+ +
Applications situées derrière mod_proxy
+
Si la directive SessionHeader est utilisée pour + définir un en-tête de requête HTTP, la session codée sous la forme + d'une chaîne application/x-www-form-urlencoded + sera accessible pour l'application. Si ce même en-tête est fourni + dans la réponse, sa valeur sera utilisée pour remplacer la + session. Comme précédemment, tout chiffrement ou déchiffrement, + ainsi que la lecture ou + l'écriture de ou vers la session à partir du mécanisme de stockage + choisi sont gérés par le module mod_session et la + configuration correspondante.
+ +
Applications indépendantes
+
Les applications peuvent choisir de manipuler la session en + s'affranchissant du contrôle du serveur HTTP Apache. Dans ce cas, + c'est l'application qui doit prendre en charge la lecture de la + session depuis le mécanisme de stockage choisi, son déchiffrement, + sa mise à jour, son chiffrement et sa réécriture vers le mécanisme + de stockage choisi de manière appropriée.
+
+ +
+ + +Session +Ouvre une session pour le contexte courant +Session On|Off +Session Off +server config +virtual host +directory +.htaccess + +AuthConfig + + +

La directive Session permet d'ouvrir une + session pour le contexte ou conteneur courant. Les directives + suivantes permettent de définir où la session sera stockée et + comment sera assurée la confidentialité.

+
+
+ + +SessionMaxAge +Définit une durée de vie maximale pour la session en +secondes +SessionMaxAge durée de vie maximale +SessionMaxAge 0 +server config +virtual host +directory +.htaccess + +AuthConfig + + +

La directive SessionMaxAge permet de + définir la durée maximale pendant laquelle une session restera + valide. Lorsqu'une session est sauvegardée, cette durée est + réinitialisée et la session peut continuer d'exister. Si la durée + d'une session dépasse cette limite sans qu'une requête au serveur ne + vienne la rafraîchir, la session va passer hors délai et sera + supprimée. Lorsqu'une session est utilisée pour stocker les + informations de connexion d'un utilisateur, ceci aura pour effet de + le déconnecter automatiquement après le délai spécifié.

+ +

Donner à cette directive la valeur 0 empêche l'expiration de la + session.

+
+
+ + +SessionEnv +Définit si le contenu de la session doit être enregistré +dans la variable d'environnement HTTP_SESSION +SessionEnv On|Off +SessionEnv Off +server config +virtual host +directory +.htaccess + +AuthConfig + + +

Lorsque la directive SessionEnv est + définie à On, le contenu de la session est enregistré + dans une variable d'environnement CGI nommée + HTTP_SESSION.

+ +

La chaîne est écrite sous le même format que celui de la chaîne + d'arguments d'une URL, comme dans l'exemple suivant :

+ + + clé1=foo&clé3=bar + + +
+
+ + +SessionHeader +Importation des mises à jour de session depuis l'en-tête de +réponse HTTP spécifié +SessionHeader en-tête +none +server config +virtual host +directory +.htaccess + +AuthConfig + + +

La directive SessionHeader permet de + définir le nom d'un en-tête de réponse HTTP qui, s'il est présent, + sera lu et son contenu écrit dans la session courante.

+ +

Le contenu de l'en-tête doit se présenter sous le même format que + celui de la chaîne d'arguments d'une URL, comme dans l'exemple + suivant :

+ + + clé1=foo&clé2=&clé3=bar + + +

Si une clé a pour valeur la chaîne vide, elle sera supprimée de + la session.

+ +
+
+ + +SessionInclude +Définit les préfixes d'URL pour lesquels une session est +valide +SessionInclude chemin +toutes URLs +server config +virtual host +directory +.htaccess + +AuthConfig + + +

La directive SessionInclude permet de + définir les préfixes d'URL spécifiques pour lesquels une session + sera valide. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session.

+ + Avertissement +

Cette directive a un comportement similaire à celui de l'attribut + chemin des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut chemin, qui doit être configuré séparément.

+
+
+ + +SessionExclude +Définit les préfixes d'URLs pour lesquels une session sera +ignorée +SessionExclude chemin +none +server config +virtual host +directory +.htaccess + + + +

La directive SessionExclude permet de + définir les préfixes d'URLs pour lesquels la session sera + désactivée. Ceci peut améliorer l'efficacité d'un site web, en + ciblant de manière plus précise l'espace d'URL pour lequel une + session devra être maintenue. Par défaut, toutes les URLs du + contexte ou du conteneur courant sont incluses dans la session. La + directive SessionExclude + l'emporte sur la directive SessionInclude.

+ + Avertissement +

Cette directive a un comportement similaire à celui de l'attribut + chemin des cookies HTTP, mais ne doit pas être confondue + avec cet attribut. En effet, cette directive ne définit pas + l'attribut chemin, qui doit être configuré + séparément.

+
+
+ + +SessionExpiryUpdateInterval +Définit le nombre de secondes dont la durée d'expiration d'une +session peut changer sans que cette session soit mise à jour +SessionExpiryUpdateInterval interval +SessionExpiryUpdateInterval 0 (mise à jour systématique) +server config +virtual host +directory +.htaccess + + + +

La directive SessionExpiryUpdateInterval + permet d'éviter le coût de l'écriture d'une session pour chaque + requête en n'effectuant cette mise à jour que lorsque la date + d'expiration a changé. Ceci permet d'améliorer les performances d'un + site web ou de réduire la charge d'une base de données lorsqu'on + utilise mod_session_dbd. La session est + systématiquement mise à jour si les données stockées dans la session + ont été modifiées ou si la durée d'expiration a été modifiée d'une + durée supérieure à l'intervalle spécifié.

+ +

Définir l'intervalle à 0 désactive cette directive, et + l'expiration de la session sera alors rafraîchie pour chaque requête.

+ +

Cette directive n'a d'effet que si on l'utilise en combinaison + avec la directive SessionMaxAge qui active + l'expiration des sessions. Les sessions sans date d'expiration ne + sont écrites que lorsque les données qu'elles renferment ont été + modifiées.

+ + Avertissement +

Comme l'expiration de la session n'est pas systématiquement + rafraîchie à chaque requête, une session peut arriver à expiration + plus tôt d'un nombre de secondes spécifié dans le paramètre + interval. Définir un petit intervalle est en général + assez sur, mais en revenche n'a qu'un effet minime sur la prise en + compte des durées d'expiration.

+
+
+ +
diff --git a/docs/manual/mod/mod_session.xml.meta b/docs/manual/mod/mod_session.xml.meta index 2f03ccac5f..c620b37214 100644 --- a/docs/manual/mod/mod_session.xml.meta +++ b/docs/manual/mod/mod_session.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_session_cookie.html b/docs/manual/mod/mod_session_cookie.html index b0ee5a4aea..f699710b57 100644 --- a/docs/manual/mod/mod_session_cookie.html +++ b/docs/manual/mod/mod_session_cookie.html @@ -3,3 +3,7 @@ URI: mod_session_cookie.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_session_cookie.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_session_cookie.html.fr b/docs/manual/mod/mod_session_cookie.html.fr new file mode 100644 index 0000000000..94357316d3 --- /dev/null +++ b/docs/manual/mod/mod_session_cookie.html.fr @@ -0,0 +1,217 @@ + + + + + +mod_session_cookie - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_session_cookie

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support des sessions basé sur les cookies
Statut:Extension
Identificateur de Module:session_cookie_module
Fichier Source:mod_session_cookie.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Avertissement

+

Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.

+
+ +

Ce sous-module du module mod_session fournit le + support du stockage des sessions utilisateur au niveau du navigateur + distant dans des cookies HTTP.

+ +

L'utilisation de cookies pour stocker les sessions décharge le + serveur ou le groupe de serveurs de la nécessité de stocker les + sessions localement, ou de collaborer pour partager les sessions, et + peut être utile dans les environnements à fort trafic où le stockage + des sessions sur le serveur pourrait s'avérer trop consommateur de + ressources.

+ +

Si la confidentialité de la session doit être préservée, le + contenu de cette dernière peut être chiffré avant d'être enregistré + au niveau du client à l'aide du module + mod_session_crypto.

+ +

Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module mod_session.

+ +
+ +
top
+
+

Exemples simples

+ +

Pour créer une session et la stocker dans un cookie nommé + session, configurez-la comme suit :

+ +

Session stockée au niveau du navigateur

Session On
+SessionCookieName session path=/
+
+ +

Pour plus d'exemples sur la manière dont une session doit être + configurée pour qu'une application CGI puisse l'utiliser, voir la + section exemples de la documentation du module + mod_session.

+ +

Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + mod_auth_form.

+ +
+
top
+

Directive SessionCookieName

+ + + + + + + +
Description:Nom et attributs du cookie RFC2109 dans lequel la session +est stockée
Syntaxe:SessionCookieName nom attributs
Défaut:none
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_cookie
+

La directive SessionCookieName permet de + spécifier le nom et les attributs optionnels d'un cookie compatible + RFC2109 dans lequel la session sera stockée. Les cookies RFC2109 + sont définis en utilisant l'en-tête HTTP Set-Cookie. +

+ +

Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tel quel dans le + cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos + attributs soient définis correctement selon la spécification des + cookies. +

+ +

Cookie avec attributs

Session On
+SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

Directive SessionCookieName2

+ + + + + + + +
Description:Nom et attributs pour le cookie RFC2965 dans lequel est +stockée la session
Syntaxe:SessionCookieName2 nom attributs
Défaut:none
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_cookie
+

La directive SessionCookieName2 permet de + spécifier le nom et les attributs optionnels d'un cookie compatible + RFC2965 dans lequel la session sera stockée. Les cookies RFC2965 + sont définis en utilisant l'en-tête HTTP + Set-Cookie2. +

+ +

Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tel quel dans le + cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos + attributs soient définis correctement selon la spécification des + cookies. +

+ +

Cookie2 avec attributs

Session On
+SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

Directive SessionCookieRemove

+ + + + + + + +
Description:Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants
Syntaxe:SessionCookieRemove On|Off
Défaut:SessionCookieRemove Off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_cookie
+

La directive SessionCookieRemove permet de + déterminer si les cookies contenant la session doivent être + supprimés des en-têtes pendant le traitement de la requête.

+ +

Dans le cas d'un mandataire inverse où le serveur Apache sert de + frontal à un serveur d'arrière-plan, révéler le contenu du cookie de + session à ce dernier peut conduire à une violation de la + confidentialité. A ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.

+ + +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session_cookie.xml.fr b/docs/manual/mod/mod_session_cookie.xml.fr new file mode 100644 index 0000000000..38630c080b --- /dev/null +++ b/docs/manual/mod/mod_session_cookie.xml.fr @@ -0,0 +1,191 @@ + + + + + + + + + + + +mod_session_cookie +Support des sessions basé sur les cookies +Extension +mod_session_cookie.c +session_cookie_module +Disponible depuis la version 2.3 d'Apache + + + Avertissement +

Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.

+
+ +

Ce sous-module du module mod_session fournit le + support du stockage des sessions utilisateur au niveau du navigateur + distant dans des cookies HTTP.

+ +

L'utilisation de cookies pour stocker les sessions décharge le + serveur ou le groupe de serveurs de la nécessité de stocker les + sessions localement, ou de collaborer pour partager les sessions, et + peut être utile dans les environnements à fort trafic où le stockage + des sessions sur le serveur pourrait s'avérer trop consommateur de + ressources.

+ +

Si la confidentialité de la session doit être préservée, le + contenu de cette dernière peut être chiffré avant d'être enregistré + au niveau du client à l'aide du module + mod_session_crypto.

+ +

Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module mod_session.

+ +
+mod_session +mod_session_crypto +mod_session_dbd + +
Exemples simples + +

Pour créer une session et la stocker dans un cookie nommé + session, configurez-la comme suit :

+ + Session stockée au niveau du navigateur + +Session On +SessionCookieName session path=/ + + + +

Pour plus d'exemples sur la manière dont une session doit être + configurée pour qu'une application CGI puisse l'utiliser, voir la + section exemples de la documentation du module + mod_session.

+ +

Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + mod_auth_form.

+ +
+ + +SessionCookieName +Nom et attributs du cookie RFC2109 dans lequel la session +est stockée +SessionCookieName nom attributs +none +server config +virtual host +directory +.htaccess + + + +

La directive SessionCookieName permet de + spécifier le nom et les attributs optionnels d'un cookie compatible + RFC2109 dans lequel la session sera stockée. Les cookies RFC2109 + sont définis en utilisant l'en-tête HTTP Set-Cookie. +

+ +

Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tel quel dans le + cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos + attributs soient définis correctement selon la spécification des + cookies. +

+ + Cookie avec attributs + +Session On +SessionCookieName session path=/private;domain=example.com;httponly;secure;version=1; + + + +
+
+ + +SessionCookieName2 +Nom et attributs pour le cookie RFC2965 dans lequel est +stockée la session +SessionCookieName2 nom attributs +none +server config +virtual host +directory +.htaccess + + + +

La directive SessionCookieName2 permet de + spécifier le nom et les attributs optionnels d'un cookie compatible + RFC2965 dans lequel la session sera stockée. Les cookies RFC2965 + sont définis en utilisant l'en-tête HTTP + Set-Cookie2. +

+ +

Une liste optionnelle d'attributs peut être spécifiée, comme dans + l'exemple suivant. Ces attributs sont insérés tel quel dans le + cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos + attributs soient définis correctement selon la spécification des + cookies. +

+ + Cookie2 avec attributs + +Session On +SessionCookieName2 session path=/private;domain=example.com;httponly;secure;version=1; + + + +
+
+ + +SessionCookieRemove +Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants +SessionCookieRemove On|Off +SessionCookieRemove Off +server config +virtual host +directory +.htaccess + + + +

La directive SessionCookieRemove permet de + déterminer si les cookies contenant la session doivent être + supprimés des en-têtes pendant le traitement de la requête.

+ +

Dans le cas d'un mandataire inverse où le serveur Apache sert de + frontal à un serveur d'arrière-plan, révéler le contenu du cookie de + session à ce dernier peut conduire à une violation de la + confidentialité. A ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.

+ +
+
+ +
diff --git a/docs/manual/mod/mod_session_cookie.xml.meta b/docs/manual/mod/mod_session_cookie.xml.meta index cf3b2f5726..261119e122 100644 --- a/docs/manual/mod/mod_session_cookie.xml.meta +++ b/docs/manual/mod/mod_session_cookie.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_session_crypto.html b/docs/manual/mod/mod_session_crypto.html index b6577a8ef7..f0186dec0a 100644 --- a/docs/manual/mod/mod_session_crypto.html +++ b/docs/manual/mod/mod_session_crypto.html @@ -3,3 +3,7 @@ URI: mod_session_crypto.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_session_crypto.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_session_crypto.html.fr b/docs/manual/mod/mod_session_crypto.html.fr new file mode 100644 index 0000000000..7c5b27e911 --- /dev/null +++ b/docs/manual/mod/mod_session_crypto.html.fr @@ -0,0 +1,292 @@ + + + + + +mod_session_crypto - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_session_crypto

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support du chiffrement des sessions
Statut:Expérimental
Identificateur de Module:session_crypto_module
Fichier Source:mod_session_crypto.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Avertissement

+

Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.

+
+ +

Ce sous-module du module mod_session fournit le + support du chiffrement des sessions utilisateur avant de les + enregistrer dans une base de données locale, ou dans un cookie HTTP + au niveau du navigateur distant.

+ +

Il peut contribuer à préserver la confidentialité des sessions + lorsque leur contenu doit rester privé pour + l'utilisateur, ou lorsqu'une protection contre les attaques de type + cross site scripting est nécessaire.

+ +

Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module mod_session.

+ +
+ +
top
+
+

Utilisation de base

+ +

Pour créer une session chiffrée et la stocker dans un cookie + nommé session, configurer-la comme suit :

+ +

Session chiffrée stockée au niveau du + serveur

Session On
+SessionCookieName session path=/
+SessionCryptoPassphrase secret
+
+ +

La session sera chiffrée avec la clé spécifiée. Il est possible + de configurer plusieurs serveurs pour qu'ils puissent partager des + sessions, en s'assurant que la même clé de chiffrement est + utilisée sur chaque serveur.

+ +

Si la clé de chiffrement est modifiée, les sessions seront + automatiquement invalidées.

+ +

Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + mod_auth_form.

+ +
+
top
+

Directive SessionCryptoCipher

+ + + + + + + + +
Description:L'algorithme à utiliser pour le chiffrement de la session
Syntaxe:SessionCryptoCipher algorithme
Défaut:aes256
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Expérimental
Module:mod_session_crypto
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

La directive SessionCryptoCipher permet de + spécifier l'algorithme à utiliser pour le chiffrement. En l'absence + de spécification, l'algorithme par défaut est aes256.

+ +

L'algorithme peut être choisi, en fonction du moteur de chiffrement + utilisé, parmi les valeurs suivantes :

+ +
  • 3des192
  • aes128
  • aes192
  • aes256
+ + +
+
top
+

Directive SessionCryptoDriver

+ + + + + + + + +
Description:Le pilote de chiffrement à utiliser pour chiffrer les +sessions
Syntaxe:SessionCryptoDriver nom [param[=valeur]]
Défaut:none
Contexte:configuration du serveur
Statut:Expérimental
Module:mod_session_crypto
Compatibilité:Disponible depuis la version 2.3.0 +d'Apache
+

La directive SessionCryptoDriver permet de + spécifier le nom du pilote à utiliser pour le chiffrement. Si aucun + pilote n'est spécifié, le pilote utilisé par défaut sera le pilote + recommandé compilé avec APR-util.

+ +

Le pilote de chiffrement NSS nécessite certains + paramètres de configuration, qui seront spécifiés comme arguments de + la directive avec des valeurs optionnelles après le nom du + pilote.

+ +

NSS sans base de données de certificats

SessionCryptoDriver nss
+
+ +

NSS avec base de données de certificats

SessionCryptoDriver nss dir=certs
+
+ +

NSS avec base de données de certificats et + paramètres

SessionCryptoDriver nss dir=certs clé3=clé3.db cert7=cert7.db secmod=secmod
+
+ +

NSS avec chemins contenant des espaces

SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod
+
+ +

Le pilote de chiffrement NSS peut avoir été configuré + au préalable dans une autre partie du serveur, par exemple depuis + mod_nss ou mod_ldap. Si c'est le + cas, un avertissement sera enregistré dans le journal, et la + configuration existante s'en trouvera affectée. Pour éviter cet + avertissement, utilisez le paramètre noinit comme suit :

+ +

NSS avec base de données de certificats

SessionCryptoDriver nss noinit
+
+ +

Pour éviter la confusion, assurez-vous que tous les modules + utilisant NSS soient configurés avec des paramètres identiques.

+ +

Le pilote de chiffrement openssl accepte un paramètre + optionnel permettant de spécifier le moteur de chiffrement à + utiliser.

+ +

OpenSSL avec spécification du moteur de chiffrement

SessionCryptoDriver openssl engine=nom-moteur
+
+ + +
+
top
+

Directive SessionCryptoPassphrase

+ + + + + + + + +
Description:La clé utilisée pour chiffrer la session
Syntaxe:SessionCryptoPassphrase secret [ secret ... ]
Défaut:none
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Expérimental
Module:mod_session_crypto
Compatibilité:Disponible depuis la version 2.3.0 +d'Apache
+

La directive SessionCryptoPassphrase + permet de spécifier les clés à utiliser pour chiffrer de manière + symétrique le contenu de la session avant de l'enregistrer, ou pour + déchiffrer le contenu de la session après sa lecture.

+ +

L'utilisation de clés longues et composées de caractères vraiment + aléatoires est plus performant en matière de sécurité. Modifier une + clé sur un serveur a pour effet d'invalider toutes les sessions + existantes.

+ +

Il est possible de spécifier plusieurs clés afin de mettre en + oeuvre la rotation de clés. La première clé spécifiée sera utilisée + pour le chiffrement, alors que l'ensemble des clés spécifiées le + sera pour le déchiffrement. Pour effectuer une rotation périodique + des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de + liste, puis, une fois la rotation complète effectuée, supprimez la + première clé de la liste.

+ +

Depuis la version 2.4.7, si la valeur de l'argument commence par + exec: , la commande + spécifiée sera exécutée, et la première ligne que cette dernière + renverra sur la sortie standard sera utilisée comme clé.

+
# clé spécifiée et utilisée en tant que tel
+SessionCryptoPassphrase secret
+
+# exécution de /path/to/program pour générer la clé
+SessionCryptoPassphrase exec:/path/to/program
+
+# exécution de /path/to/program avec un argument pour générer la clé
+SessionCryptoPassphrase "exec:/path/to/otherProgram argument1"
+ + +
+
top
+

Directive SessionCryptoPassphraseFile

+ + + + + + + + +
Description:Le fichier contenant les clés utilisées pour chiffrer la +session
Syntaxe:SessionCryptoPassphraseFile nom-fichier
Défaut:none
Contexte:configuration du serveur, serveur virtuel, répertoire
Statut:Expérimental
Module:mod_session_crypto
Compatibilité:Disponible depuis la version 2.3.0 du serveur HTTP Apache
+

La directive SessionCryptoPassphraseFile + permet de spécifier le nom d'un fichier de configuration contenant + les clés à utiliser pour le chiffrement et le déchiffrement de la + session (une clé par ligne). Le fichier est lu au démarrage du + serveur, et un redémarrage graceful est nécessaire pour prendre en + compte un éventuel changement de clés.

+ +

A la différence de la directive + SessionCryptoPassphrase, les clés ne sont pas + présentes dans le fichier de configuration de httpd et peuvent être + cachées via une protection appropriée du fichier de clés.

+ +

Il est possible de spécifier plusieurs clés afin de mettre en + oeuvre la rotation de clés. La première clé spécifiée sera utilisée + pour le chiffrement, alors que l'ensemble des clés spécifiées le + sera pour le déchiffrement. Pour effectuer une rotation périodique + des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de + liste, puis, une fois la rotation complète effectuée, supprimez la + première clé de la liste.

+ + +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session_crypto.xml.fr b/docs/manual/mod/mod_session_crypto.xml.fr new file mode 100644 index 0000000000..f5aa8af841 --- /dev/null +++ b/docs/manual/mod/mod_session_crypto.xml.fr @@ -0,0 +1,278 @@ + + + + + + + + + + + +mod_session_crypto +Support du chiffrement des sessions +Experimental +mod_session_crypto.c +session_crypto_module +Disponible depuis la version 2.3 d'Apache + + + Avertissement +

Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.

+
+ +

Ce sous-module du module mod_session fournit le + support du chiffrement des sessions utilisateur avant de les + enregistrer dans une base de données locale, ou dans un cookie HTTP + au niveau du navigateur distant.

+ +

Il peut contribuer à préserver la confidentialité des sessions + lorsque leur contenu doit rester privé pour + l'utilisateur, ou lorsqu'une protection contre les attaques de type + cross site scripting est nécessaire.

+ +

Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module mod_session.

+ +
+mod_session +mod_session_cookie +mod_session_dbd + +
Utilisation de base + +

Pour créer une session chiffrée et la stocker dans un cookie + nommé session, configurer-la comme suit :

+ + Session chiffrée stockée au niveau du + serveur + +Session On +SessionCookieName session path=/ +SessionCryptoPassphrase secret + + + +

La session sera chiffrée avec la clé spécifiée. Il est possible + de configurer plusieurs serveurs pour qu'ils puissent partager des + sessions, en s'assurant que la même clé de chiffrement est + utilisée sur chaque serveur.

+ +

Si la clé de chiffrement est modifiée, les sessions seront + automatiquement invalidées.

+ +

Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + mod_auth_form.

+ +
+ + +SessionCryptoDriver +Le pilote de chiffrement à utiliser pour chiffrer les +sessions +SessionCryptoDriver nom [param[=valeur]] +none +server config + +Disponible depuis la version 2.3.0 +d'Apache + + +

La directive SessionCryptoDriver permet de + spécifier le nom du pilote à utiliser pour le chiffrement. Si aucun + pilote n'est spécifié, le pilote utilisé par défaut sera le pilote + recommandé compilé avec APR-util.

+ +

Le pilote de chiffrement NSS nécessite certains + paramètres de configuration, qui seront spécifiés comme arguments de + la directive avec des valeurs optionnelles après le nom du + pilote.

+ + NSS sans base de données de certificats + + SessionCryptoDriver nss + + + + NSS avec base de données de certificats + + SessionCryptoDriver nss dir=certs + + + + NSS avec base de données de certificats et + paramètres + + SessionCryptoDriver nss dir=certs clé3=clé3.db cert7=cert7.db secmod=secmod + + + + NSS avec chemins contenant des espaces + + SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod + + + +

Le pilote de chiffrement NSS peut avoir été configuré + au préalable dans une autre partie du serveur, par exemple depuis + mod_nss ou mod_ldap. Si c'est le + cas, un avertissement sera enregistré dans le journal, et la + configuration existante s'en trouvera affectée. Pour éviter cet + avertissement, utilisez le paramètre noinit comme suit :

+ + NSS avec base de données de certificats + + SessionCryptoDriver nss noinit + + + +

Pour éviter la confusion, assurez-vous que tous les modules + utilisant NSS soient configurés avec des paramètres identiques.

+ +

Le pilote de chiffrement openssl accepte un paramètre + optionnel permettant de spécifier le moteur de chiffrement à + utiliser.

+ + OpenSSL avec spécification du moteur de chiffrement + + SessionCryptoDriver openssl engine=nom-moteur + + + +
+
+ + +SessionCryptoPassphrase +La clé utilisée pour chiffrer la session +SessionCryptoPassphrase secret [ secret ... ] +none +server config +virtual host +directory +.htaccess + +Disponible depuis la version 2.3.0 +d'Apache + + +

La directive SessionCryptoPassphrase + permet de spécifier les clés à utiliser pour chiffrer de manière + symétrique le contenu de la session avant de l'enregistrer, ou pour + déchiffrer le contenu de la session après sa lecture.

+ +

L'utilisation de clés longues et composées de caractères vraiment + aléatoires est plus performant en matière de sécurité. Modifier une + clé sur un serveur a pour effet d'invalider toutes les sessions + existantes.

+ +

Il est possible de spécifier plusieurs clés afin de mettre en + oeuvre la rotation de clés. La première clé spécifiée sera utilisée + pour le chiffrement, alors que l'ensemble des clés spécifiées le + sera pour le déchiffrement. Pour effectuer une rotation périodique + des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de + liste, puis, une fois la rotation complète effectuée, supprimez la + première clé de la liste.

+ +

Depuis la version 2.4.7, si la valeur de l'argument commence par + exec: , la commande + spécifiée sera exécutée, et la première ligne que cette dernière + renverra sur la sortie standard sera utilisée comme clé.

+
+# clé spécifiée et utilisée en tant que tel
+SessionCryptoPassphrase secret
+
+# exécution de /path/to/program pour générer la clé
+SessionCryptoPassphrase exec:/path/to/program
+
+# exécution de /path/to/program avec un argument pour générer la clé
+SessionCryptoPassphrase "exec:/path/to/otherProgram argument1"
+
+ +
+
+ + +SessionCryptoPassphraseFile +Le fichier contenant les clés utilisées pour chiffrer la +session +SessionCryptoPassphraseFile nom-fichier +none +server config +virtual host +directory + +Disponible depuis la version 2.3.0 du serveur HTTP Apache + + +

La directive SessionCryptoPassphraseFile + permet de spécifier le nom d'un fichier de configuration contenant + les clés à utiliser pour le chiffrement et le déchiffrement de la + session (une clé par ligne). Le fichier est lu au démarrage du + serveur, et un redémarrage graceful est nécessaire pour prendre en + compte un éventuel changement de clés.

+ +

A la différence de la directive + SessionCryptoPassphrase, les clés ne sont pas + présentes dans le fichier de configuration de httpd et peuvent être + cachées via une protection appropriée du fichier de clés.

+ +

Il est possible de spécifier plusieurs clés afin de mettre en + oeuvre la rotation de clés. La première clé spécifiée sera utilisée + pour le chiffrement, alors que l'ensemble des clés spécifiées le + sera pour le déchiffrement. Pour effectuer une rotation périodique + des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de + liste, puis, une fois la rotation complète effectuée, supprimez la + première clé de la liste.

+ +
+
+ + +SessionCryptoCipher +L'algorithme à utiliser pour le chiffrement de la session +SessionCryptoCipher algorithme +aes256 +server config +virtual host +directory +.htaccess + +Disponible depuis la version 2.3.0 du serveur HTTP Apache + + +

La directive SessionCryptoCipher permet de + spécifier l'algorithme à utiliser pour le chiffrement. En l'absence + de spécification, l'algorithme par défaut est aes256.

+ +

L'algorithme peut être choisi, en fonction du moteur de chiffrement + utilisé, parmi les valeurs suivantes :

+ +
  • 3des192
  • aes128
  • aes192
  • aes256
+ +
+
+ +
diff --git a/docs/manual/mod/mod_session_crypto.xml.meta b/docs/manual/mod/mod_session_crypto.xml.meta index 330ec8e577..56dc35d438 100644 --- a/docs/manual/mod/mod_session_crypto.xml.meta +++ b/docs/manual/mod/mod_session_crypto.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_session_dbd.html b/docs/manual/mod/mod_session_dbd.html index a01d8bfa13..c4e0f5df7a 100644 --- a/docs/manual/mod/mod_session_dbd.html +++ b/docs/manual/mod/mod_session_dbd.html @@ -3,3 +3,7 @@ URI: mod_session_dbd.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_session_dbd.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_session_dbd.html.fr b/docs/manual/mod/mod_session_dbd.html.fr new file mode 100644 index 0000000000..4244a07031 --- /dev/null +++ b/docs/manual/mod/mod_session_dbd.html.fr @@ -0,0 +1,407 @@ + + + + + +mod_session_dbd - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_session_dbd

+
+

Langues Disponibles:  en  | + fr 

+
+ + + + +
Description:Support des session basé sur DBD/SQL
Statut:Extension
Identificateur de Module:session_dbd_module
Fichier Source:mod_session_dbd.c
Compatibilité:Disponible depuis la version 2.3 d'Apache
+

Sommaire

+ +

Avertissement

+

Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.

+
+ +

Ce sous-module du module mod_session fournit le + support du stockage des sessions utilisateur dans une base de + données SQL en utilisant le module mod_dbd.

+ +

Les sessions sont soit anonymes, et la session + est alors identifiée par un UUID unique stocké dans un cookie au + niveau du navigateur, soit propres à l'utilisateur, + et le session est alors identifiée par l'identifiant de + l'utilisateur connecté.

+ +

Les sessions basées sur SQL sont dissimulées au navigateur, et + permettent ainsi de préserver la confidentialité sans avoir recours + au chiffrement.

+ +

Plusieurs serveurs web d'une forêt de serveurs peuvent choisir de + partager une base de données, et ainsi partager les sessions entre + eux.

+ +

Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module mod_session.

+ +
+ +
top
+
+

Configuration de DBD

+ +

Pour que le module mod_session_dbd puisse être + configuré pour maintenir une session, il faut tout d'abord + configurer le module mod_dbd pour que le serveur + puisse exécuter des requêtes vers la base de données.

+ +

Quatre types de requêtes sont nécessaires pour maintenir une + session, sélectionner ou mettre à jour une session existante, + insérer une nouvelle session et supprimer une session vide ou + arrivée à expiration. Ces requêtes sont configurées comme dans + l'exemple suivant :

+ +

Exemple de configuration de DBD

DBDriver pgsql
+DBDParams "dbname=apachesession user=apache password=xxxxx host=localhost"
+DBDPrepareSQL "delete from session where key = %s" deletesession
+DBDPrepareSQL "update session set value = %s, expiry = %lld, key = %s where key = %s" updatesession
+DBDPrepareSQL "insert into session (value, expiry, key) values (%s, %lld, %s)" insertsession
+DBDPrepareSQL "select value from session where key = %s and (expiry = 0 or expiry > %lld)" selectsession
+DBDPrepareSQL "delete from session where expiry != 0 and expiry < %lld" cleansession
+
+ +
top
+
+

Sessions anonymes

+ +

Les sessions anonymes sont identifiées par un UUID unique, et + stockées dans un cookie au niveau du navigateur. Cette méthode est + similaire à celle utilisée par la plupart des serveurs + d'applications pour stocker les informations de session.

+ +

Pour créer une session anonyme, la stocker dans une table de + base de donnée postgres nommée apachesession, et + sauvegarder l'identifiant de session dans un cookie nommé + session, configurez la session comme suit :

+ +

Session anonyme basée sur SQL

Session On
+SessionDBDCookieName session path=/
+
+ +

Pour plus d'exemples sur la manière dont une application CGI + peut accéder aux informations de session, voir la section exemples + de la documentation du module mod_session.

+ +

Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + mod_auth_form.

+ +
top
+
+

Sessions propres à un + utilisateur

+ +

Les sessions propres à un utilisateur sont identifiées par le + nom de l'utilisateur authentifié avec succès. Ceci permet + d'assurer une confidentialité optimale, car aucun traitement + externe à la session n'existe en dehors du contexte + authentifié.

+ +

Les sessions propres à un utilisateur ne fonctionnent que dans + un environnement d'authentification correctement configuré, qu'il + s'agisse d'une authentification de base, à base de condensés + (digest) ou de certificats client SSL. Suite à des limitations + dues à des dépendances mutuelles, les sessions propres à un + utilisateur ne peuvent pas être utilisées pour stocker les données + d'authentification en provenance d'un module comme + mod_auth_form.

+ +

Pour créer une session propre à un utilisateur, la stocker dans + une table de base de données postgres nommée + apachesession, avec comme clé de session l'identifiant + utilisateur, ajoutez les lignes suivantes :

+ +

Session propre à un utilisateur basée sur SQL

Session On
+SessionDBDPerUser On
+
+ +
top
+
+

Nettoyage de la base de + données

+

Avec le temps, la base de données va commencer à accumuler des + sessions expirées. Pour le moment, le module + mod_session_dbd n'est pas en mesure de gérer + automatiquement l'expiration des sessions.

+ +

Avertissement

+

L'administrateur devra mettre en oeuvre un traitement externe + via cron pour nettoyer les sessions expirées.

+
+ +
+
top
+

Directive SessionDBDCookieName

+ + + + + + + +
Description:Nom et attributs du cookie RFC2109 qui contient +l'identifiant de session
Syntaxe:SessionDBDCookieName nom attributs
Défaut:none
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDCookieName permet + de spécifier le nom et les attributs optionnels d'un cookie + compatible RFC2109 qui contiendra l'identifiant de session. Les + cookies RFC2109 sont définis à l'aide de l'en-tête HTTP + Set-Cookie. +

+ +

Une liste optionnelle d'attributs peut être spécifiée pour ce + cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés + dans le cookie tel quel, et ne sont pas interprétés par Apache. + Assurez-vous que vos attributs sont définis correctement selon la + spécification des cookies. +

+ +

Cookie avec attributs

Session On
+SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

Directive SessionDBDCookieName2

+ + + + + + + +
Description:Nom et attributs du cookie RFC2965 qui contient +l'identifiant de session
Syntaxe:SessionDBDCookieName2 nom attributs
Défaut:none
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDCookieName2 permet + de spécifier le nom et les attributs optionnels d'un cookie + compatible RFC2965 qui contiendra l'identifiant de session. Les + cookies RFC2965 sont définis à l'aide de l'en-tête HTTP + Set-Cookie2. +

+ +

Une liste optionnelle d'attributs peut être spécifiée pour ce + cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés + dans le cookie tel quel, et ne sont pas interprétés par Apache. + Assurez-vous que vos attributs sont définis correctement selon la + spécification des cookies. +

+ +

Cookie2 avec attributs

Session On
+SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1;
+
+ + +
+
top
+

Directive SessionDBDCookieRemove

+ + + + + + + +
Description:Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants
Syntaxe:SessionDBDCookieRemove On|Off
Défaut:SessionDBDCookieRemove On
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDCookieRemove permet + de déterminer si les cookies contenant l'identifiant de session + doivent être supprimés des en-têtes pendant le traitement de la + requête.

+ +

Dans le cas d'un mandataire inverse où le serveur Apache sert de + frontal à un serveur d'arrière-plan, révéler le contenu du cookie de + session à ce dernier peut conduire à une violation de la + confidentialité. A ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.

+ + +
+
top
+

Directive SessionDBDDeleteLabel

+ + + + + + + +
Description:La requête SQL à utiliser pour supprimer des sessions de la +base de données
Syntaxe:SessionDBDDeleteLabel étiquette
Défaut:SessionDBDDeleteLabel deletesession
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDDeleteLabel permet + de définir l'étiquette de la requête de suppression à utiliser par + défaut pour supprimer une session vide ou expirée. Cette + étiquette doit avoir été définie au préalable via une directive + DBDPrepareSQL.

+ + +
+
top
+

Directive SessionDBDInsertLabel

+ + + + + + + +
Description:La requête SQL à utiliser pour insérer des sessions dans la +base de données
Syntaxe:SessionDBDInsertLabel étiquette
Défaut:SessionDBDInsertLabel insertsession
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDInsertLabel permet + de définir l'étiquette de la requête d'insertion par défaut à + charger dans une session. Cette + étiquette doit avoir été définie au préalable via une directive + DBDPrepareSQL.

+ +

Si une tentative de mise à jour d'une session ne concerne aucun + enregistrement, c'est cette requête qui sera utilisée pour insérer + la session dans la base de données.

+ + +
+
top
+

Directive SessionDBDPerUser

+ + + + + + + +
Description:Active une session propre à un utilisateur
Syntaxe:SessionDBDPerUser On|Off
Défaut:SessionDBDPerUser Off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDPerUser permet + d'activer une session propre à un utilisateur, dont la clé sera le + nom de l'utilisateur connecté. Si l'utilisateur n'est pas connecté, + la directive sera ignorée.

+ + +
+
top
+

Directive SessionDBDSelectLabel

+ + + + + + + +
Description:La requête SQL à utiliser pour sélectionner des sessions +dans la base de données
Syntaxe:SessionDBDSelectLabel étiquette
Défaut:SessionDBDSelectLabel selectsession
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDSelectLabel permet + de définir l'étiquette de la requête de sélection par défaut à + utiliser pour charger une session. Cette étiquette doit avoir été + définie au préalable via une directive DBDPrepareSQL.

+ + +
+
top
+

Directive SessionDBDUpdateLabel

+ + + + + + + +
Description:La requête SQL à utiliser pour mettre à jour des sessions +préexistantes dans la base de données
Syntaxe:SessionDBDUpdateLabel étiquette
Défaut:SessionDBDUpdateLabel updatesession
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Extension
Module:mod_session_dbd
+

La directive SessionDBDUpdateLabel permet + de définir l'étiquette de la requête de mise à jour par défaut à + charger dans une session. Cette + étiquette doit avoir été définie au préalable via une directive + DBDPrepareSQL.

+ +

Si une tentative de mise à jour d'une session ne concerne aucun + enregistrement, c'est la requête d'insertion qui sera appelée pour + insérer la session dans la base de données. Si la base de données + supporte InsertOrUpdate, modifiez cette requête pour effectuer la + mise à jour en une seule requête au lieu de deux.

+ + +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_session_dbd.xml.fr b/docs/manual/mod/mod_session_dbd.xml.fr new file mode 100644 index 0000000000..c58b31164a --- /dev/null +++ b/docs/manual/mod/mod_session_dbd.xml.fr @@ -0,0 +1,393 @@ + + + + + + + + + + + +mod_session_dbd +Support des session basé sur DBD/SQL +Extension +mod_session_dbd.c +session_dbd_module +Disponible depuis la version 2.3 d'Apache + + + Avertissement +

Les modules de session font usage des cookies HTTP, et peuvent + à ce titre être victimes d'attaques de type Cross Site Scripting, + ou divulguer des informations à caractère privé aux clients. + Veuillez vous assurer que les risques ainsi encourus ont été pris + en compte avant d'activer le support des sessions sur votre + serveur.

+
+ +

Ce sous-module du module mod_session fournit le + support du stockage des sessions utilisateur dans une base de + données SQL en utilisant le module mod_dbd.

+ +

Les sessions sont soit anonymes, et la session + est alors identifiée par un UUID unique stocké dans un cookie au + niveau du navigateur, soit propres à l'utilisateur, + et le session est alors identifiée par l'identifiant de + l'utilisateur connecté.

+ +

Les sessions basées sur SQL sont dissimulées au navigateur, et + permettent ainsi de préserver la confidentialité sans avoir recours + au chiffrement.

+ +

Plusieurs serveurs web d'une forêt de serveurs peuvent choisir de + partager une base de données, et ainsi partager les sessions entre + eux.

+ +

Pour plus de détails à propos de l'interface des sessions, voir + la documentation du module mod_session.

+ +
+mod_session +mod_session_crypto +mod_session_cookie +mod_dbd + +
Configuration de DBD + +

Pour que le module mod_session_dbd puisse être + configuré pour maintenir une session, il faut tout d'abord + configurer le module mod_dbd pour que le serveur + puisse exécuter des requêtes vers la base de données.

+ +

Quatre types de requêtes sont nécessaires pour maintenir une + session, sélectionner ou mettre à jour une session existante, + insérer une nouvelle session et supprimer une session vide ou + arrivée à expiration. Ces requêtes sont configurées comme dans + l'exemple suivant :

+ + Exemple de configuration de DBD + +DBDriver pgsql +DBDParams "dbname=apachesession user=apache password=xxxxx host=localhost" +DBDPrepareSQL "delete from session where key = %s" deletesession +DBDPrepareSQL "update session set value = %s, expiry = %lld, key = %s where key = %s" updatesession +DBDPrepareSQL "insert into session (value, expiry, key) values (%s, %lld, %s)" insertsession +DBDPrepareSQL "select value from session where key = %s and (expiry = 0 or expiry > %lld)" selectsession +DBDPrepareSQL "delete from session where expiry != 0 and expiry < %lld" cleansession + + + +
+ +
Sessions anonymes + +

Les sessions anonymes sont identifiées par un UUID unique, et + stockées dans un cookie au niveau du navigateur. Cette méthode est + similaire à celle utilisée par la plupart des serveurs + d'applications pour stocker les informations de session.

+ +

Pour créer une session anonyme, la stocker dans une table de + base de donnée postgres nommée apachesession, et + sauvegarder l'identifiant de session dans un cookie nommé + session, configurez la session comme suit :

+ + Session anonyme basée sur SQL + +Session On +SessionDBDCookieName session path=/ + + + +

Pour plus d'exemples sur la manière dont une application CGI + peut accéder aux informations de session, voir la section exemples + de la documentation du module mod_session.

+ +

Pour des détails sur la manière dont une session peut être + utilisée pour stocker des informations de type nom + d'utilisateur/mot de passe, voir la documentation du module + mod_auth_form.

+ +
+ +
Sessions propres à un + utilisateur + +

Les sessions propres à un utilisateur sont identifiées par le + nom de l'utilisateur authentifié avec succès. Ceci permet + d'assurer une confidentialité optimale, car aucun traitement + externe à la session n'existe en dehors du contexte + authentifié.

+ +

Les sessions propres à un utilisateur ne fonctionnent que dans + un environnement d'authentification correctement configuré, qu'il + s'agisse d'une authentification de base, à base de condensés + (digest) ou de certificats client SSL. Suite à des limitations + dues à des dépendances mutuelles, les sessions propres à un + utilisateur ne peuvent pas être utilisées pour stocker les données + d'authentification en provenance d'un module comme + mod_auth_form.

+ +

Pour créer une session propre à un utilisateur, la stocker dans + une table de base de données postgres nommée + apachesession, avec comme clé de session l'identifiant + utilisateur, ajoutez les lignes suivantes :

+ + Session propre à un utilisateur basée sur SQL + +Session On +SessionDBDPerUser On + + + +
+ +
Nettoyage de la base de + données +

Avec le temps, la base de données va commencer à accumuler des + sessions expirées. Pour le moment, le module + mod_session_dbd n'est pas en mesure de gérer + automatiquement l'expiration des sessions.

+ + Avertissement +

L'administrateur devra mettre en oeuvre un traitement externe + via cron pour nettoyer les sessions expirées.

+
+ +
+ + +SessionDBDCookieName +Nom et attributs du cookie RFC2109 qui contient +l'identifiant de session +SessionDBDCookieName nom attributs +none +server config +virtual host +directory +.htaccess + + + +

La directive SessionDBDCookieName permet + de spécifier le nom et les attributs optionnels d'un cookie + compatible RFC2109 qui contiendra l'identifiant de session. Les + cookies RFC2109 sont définis à l'aide de l'en-tête HTTP + Set-Cookie. +

+ +

Une liste optionnelle d'attributs peut être spécifiée pour ce + cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés + dans le cookie tel quel, et ne sont pas interprétés par Apache. + Assurez-vous que vos attributs sont définis correctement selon la + spécification des cookies. +

+ + Cookie avec attributs + +Session On +SessionDBDCookieName session path=/private;domain=example.com;httponly;secure;version=1; + + + +
+
+ + +SessionDBDCookieName2 +Nom et attributs du cookie RFC2965 qui contient +l'identifiant de session +SessionDBDCookieName2 nom attributs +none +server config +virtual host +directory +.htaccess + + + +

La directive SessionDBDCookieName2 permet + de spécifier le nom et les attributs optionnels d'un cookie + compatible RFC2965 qui contiendra l'identifiant de session. Les + cookies RFC2965 sont définis à l'aide de l'en-tête HTTP + Set-Cookie2. +

+ +

Une liste optionnelle d'attributs peut être spécifiée pour ce + cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés + dans le cookie tel quel, et ne sont pas interprétés par Apache. + Assurez-vous que vos attributs sont définis correctement selon la + spécification des cookies. +

+ + Cookie2 avec attributs + +Session On +SessionDBDCookieName2 session path=/private;domain=example.com;httponly;secure;version=1; + + + +
+
+ + +SessionDBDCookieRemove +Détermine si les cookies de session doivent être supprimés +des en-têtes HTTP entrants +SessionDBDCookieRemove On|Off +SessionDBDCookieRemove On +server config +virtual host +directory +.htaccess + + + +

La directive SessionDBDCookieRemove permet + de déterminer si les cookies contenant l'identifiant de session + doivent être supprimés des en-têtes pendant le traitement de la + requête.

+ +

Dans le cas d'un mandataire inverse où le serveur Apache sert de + frontal à un serveur d'arrière-plan, révéler le contenu du cookie de + session à ce dernier peut conduire à une violation de la + confidentialité. A ce titre, si cette directive est définie à "on", + le cookie de session sera supprimé des en-têtes HTTP entrants.

+ +
+
+ + +SessionDBDPerUser +Active une session propre à un utilisateur +SessionDBDPerUser On|Off +SessionDBDPerUser Off +server config +virtual host +directory +.htaccess + + + +

La directive SessionDBDPerUser permet + d'activer une session propre à un utilisateur, dont la clé sera le + nom de l'utilisateur connecté. Si l'utilisateur n'est pas connecté, + la directive sera ignorée.

+ +
+
+ + +SessionDBDSelectLabel +La requête SQL à utiliser pour sélectionner des sessions +dans la base de données +SessionDBDSelectLabel étiquette +SessionDBDSelectLabel selectsession +server config +virtual host +directory +.htaccess + + + +

La directive SessionDBDSelectLabel permet + de définir l'étiquette de la requête de sélection par défaut à + utiliser pour charger une session. Cette étiquette doit avoir été + définie au préalable via une directive DBDPrepareSQL.

+ +
+
+ + +SessionDBDInsertLabel +La requête SQL à utiliser pour insérer des sessions dans la +base de données +SessionDBDInsertLabel étiquette +SessionDBDInsertLabel insertsession +server config +virtual host +directory +.htaccess + + + +

La directive SessionDBDInsertLabel permet + de définir l'étiquette de la requête d'insertion par défaut à + charger dans une session. Cette + étiquette doit avoir été définie au préalable via une directive + DBDPrepareSQL.

+ +

Si une tentative de mise à jour d'une session ne concerne aucun + enregistrement, c'est cette requête qui sera utilisée pour insérer + la session dans la base de données.

+ +
+
+ + +SessionDBDUpdateLabel +La requête SQL à utiliser pour mettre à jour des sessions +préexistantes dans la base de données +SessionDBDUpdateLabel étiquette +SessionDBDUpdateLabel updatesession +server config +virtual host +directory +.htaccess + + + +

La directive SessionDBDUpdateLabel permet + de définir l'étiquette de la requête de mise à jour par défaut à + charger dans une session. Cette + étiquette doit avoir été définie au préalable via une directive + DBDPrepareSQL.

+ +

Si une tentative de mise à jour d'une session ne concerne aucun + enregistrement, c'est la requête d'insertion qui sera appelée pour + insérer la session dans la base de données. Si la base de données + supporte InsertOrUpdate, modifiez cette requête pour effectuer la + mise à jour en une seule requête au lieu de deux.

+ +
+
+ + +SessionDBDDeleteLabel +La requête SQL à utiliser pour supprimer des sessions de la +base de données +SessionDBDDeleteLabel étiquette +SessionDBDDeleteLabel deletesession +server config +virtual host +directory +.htaccess + + + +

La directive SessionDBDDeleteLabel permet + de définir l'étiquette de la requête de suppression à utiliser par + défaut pour supprimer une session vide ou expirée. Cette + étiquette doit avoir été définie au préalable via une directive + DBDPrepareSQL.

+ +
+
+ +
diff --git a/docs/manual/mod/mod_session_dbd.xml.meta b/docs/manual/mod/mod_session_dbd.xml.meta index 84eaffc38b..89c4516949 100644 --- a/docs/manual/mod/mod_session_dbd.xml.meta +++ b/docs/manual/mod/mod_session_dbd.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_slotmem_plain.html b/docs/manual/mod/mod_slotmem_plain.html index 770594429a..d2751d4fdf 100644 --- a/docs/manual/mod/mod_slotmem_plain.html +++ b/docs/manual/mod/mod_slotmem_plain.html @@ -3,3 +3,7 @@ URI: mod_slotmem_plain.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_slotmem_plain.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_slotmem_plain.html.fr b/docs/manual/mod/mod_slotmem_plain.html.fr new file mode 100644 index 0000000000..e334df8dc5 --- /dev/null +++ b/docs/manual/mod/mod_slotmem_plain.html.fr @@ -0,0 +1,128 @@ + + + + + +mod_slotmem_plain - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_slotmem_plain

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de mémoire partagée à base de +slots.
Statut:Extension
Identificateur de Module:slotmem_plain_module
Fichier Source:mod_slotmem_plain.c
+

Sommaire

+ +

mod_slotmem_plain est un fournisseur de mémoire qui + permet la création et l'utilisation d'un segment de mémoire contigu + dans lequel les ensembles de données sont organisés en "slots". +

+ +

Si la mémoire doit être partagée entre des threads et des + processus, il est préférable d'utiliser le fournisseur + mod_slotmem_shm. +

+ +

mod_slotmem_plain fournit une API comprenant les + fonctions suivantes : +

+ +
+
apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)
+
appelle le callback sur tous les slots actifs
+ +
apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)
+
crée un nouveau slot de mémoire dont chaque item aura une + taille de item_size.
+ +
apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)
+
rattache à un slot de mémoire existant.
+ +
apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void**mem)
+
indique la mémoire associée à ce slot actif.
+ +
apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)
+
lit la mémoire depuis ce slot et la transfert vers dest
+ +
apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)
+
écrit dans ce slot la mémoire en provenance de src
+ +
unsigned int num_slots(ap_slotmem_instance_t *s)
+
renvoie le nombre total de slots contenus dans ce segment
+ +
apr_size_t slot_size(ap_slotmem_instance_t *s)
+
renvoie la taille totale des données, en octets, contenues + dans un slot de ce segment
+ +
apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id);
+
alloue le premier slot libre et le marque comme utilisé (n'effectue aucune + copie de données)
+ +
apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id);
+
appropriation ou allocation forcée du slot spécifié et marquage comme + utilisé (n'effectue aucune copie de données)
+ +
apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id);
+
libère un slot et le marque comme non utilisé (n'effectue aucune + copie de données)
+
+ +
+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_plain.xml.fr b/docs/manual/mod/mod_slotmem_plain.xml.fr new file mode 100644 index 0000000000..1d3b213e5e --- /dev/null +++ b/docs/manual/mod/mod_slotmem_plain.xml.fr @@ -0,0 +1,91 @@ + + + + + + + + + + + +mod_slotmem_plain +Fournisseur de mémoire partagée à base de +slots. +Extension +mod_slotmem_plain.c +slotmem_plain_module + + +

mod_slotmem_plain est un fournisseur de mémoire qui + permet la création et l'utilisation d'un segment de mémoire contigu + dans lequel les ensembles de données sont organisés en "slots". +

+ +

Si la mémoire doit être partagée entre des threads et des + processus, il est préférable d'utiliser le fournisseur + mod_slotmem_shm. +

+ +

mod_slotmem_plain fournit une API comprenant les + fonctions suivantes : +

+ +
+
apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)
+
appelle le callback sur tous les slots actifs
+ +
apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)
+
crée un nouveau slot de mémoire dont chaque item aura une + taille de item_size.
+ +
apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)
+
rattache à un slot de mémoire existant.
+ +
apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void**mem)
+
indique la mémoire associée à ce slot actif.
+ +
apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)
+
lit la mémoire depuis ce slot et la transfert vers dest
+ +
apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)
+
écrit dans ce slot la mémoire en provenance de src
+ +
unsigned int num_slots(ap_slotmem_instance_t *s)
+
renvoie le nombre total de slots contenus dans ce segment
+ +
apr_size_t slot_size(ap_slotmem_instance_t *s)
+
renvoie la taille totale des données, en octets, contenues + dans un slot de ce segment
+ +
apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id);
+
alloue le premier slot libre et le marque comme utilisé (n'effectue aucune + copie de données)
+ +
apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id);
+
appropriation ou allocation forcée du slot spécifié et marquage comme + utilisé (n'effectue aucune copie de données)
+ +
apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id);
+
libère un slot et le marque comme non utilisé (n'effectue aucune + copie de données)
+
+ +
+ +
diff --git a/docs/manual/mod/mod_slotmem_plain.xml.meta b/docs/manual/mod/mod_slotmem_plain.xml.meta index f361b7930d..f15ceb5564 100644 --- a/docs/manual/mod/mod_slotmem_plain.xml.meta +++ b/docs/manual/mod/mod_slotmem_plain.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_slotmem_shm.html b/docs/manual/mod/mod_slotmem_shm.html index b4c9ca4bb1..12d155bcae 100644 --- a/docs/manual/mod/mod_slotmem_shm.html +++ b/docs/manual/mod/mod_slotmem_shm.html @@ -3,3 +3,7 @@ URI: mod_slotmem_shm.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_slotmem_shm.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_slotmem_shm.html.fr b/docs/manual/mod/mod_slotmem_shm.html.fr new file mode 100644 index 0000000000..75dbae826f --- /dev/null +++ b/docs/manual/mod/mod_slotmem_shm.html.fr @@ -0,0 +1,146 @@ + + + + + +mod_slotmem_shm - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_slotmem_shm

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de mémoire partagée basée sur les +slots.
Statut:Extension
Identificateur de Module:slotmem_shm_module
Fichier Source:mod_slotmem_shm.c
+

Sommaire

+ +

mod_slotmem_shm est un fournisseur de mémoire qui + permet la création et l'accès à un segment de mémoire partagée dans + lequel les ensembles de données sont organisés en "slots". +

+ +

L'ensemble de la mémoire partagée est effacé à chaque + redémarrage, que ce dernier soit graceful ou non. Les données sont + stockées et restituées dans/à partir d'un fichier défini par le + paramètre name des appels create et + attach. Si son chemin absolu n'est pas spécifié, le + chemin du fichier sera relatif au chemin défini par la directive + DefaultRuntimeDir. +

+ +

mod_slotmem_shm fournit les fonctions d'API suivantes + : +

+ +
+
apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)
+
appelle lecallback pour tous les slots actifs
+ +
apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)
+
crée un nouveau slot de mémoire dont chaque taille d'item est + item_size. name est utilisé pour générer le nom du fichier + permettant de stocker/restaurer le contenu de la mémoire partagée, + si elle est configurée. Les valeurs possibles sont : +
+
"none"
+
Mémoire partagée anonyme et pas de stockage + permanent
+
"file-name"
+
[DefaultRuntimeDir]/file-name
+
Absolute file name
+
$absolute-file-name
+
+
+ +
apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)
+
attache à un slot de mémoire existant. Voir + create pour la description du paramètre + name.
+ +
apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void**mem)
+
obtient la mémoire associée à ce slot actif.
+ +
apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)
+
lit la mémoire depuis ce slot et la transfert vers dest
+ +
apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)
+
écrit dans ce slot la mémoire en provenance de src
+ +
unsigned int num_slots(ap_slotmem_instance_t *s)
+
renvoie le nombre total de slots contenus dans ce segment
+ +
apr_size_t slot_size(ap_slotmem_instance_t *s)
+
renvoie la taille totale des données, en octets, contenues + dans un slot de ce segment
+ +
apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id);
+
alloue le premier slot libre et le marque comme utilisé (n'effectue aucune + copie de données)
+ +
apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id);
+
appropriation ou allocation forcée du slot spécifié et marquage comme + utilisé (n'effectue aucune copie de données)
+ +
apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id);
+
libère un slot et le marque comme non utilisé (n'effectue aucune + copie de données)
+
+ +
+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_slotmem_shm.xml.fr b/docs/manual/mod/mod_slotmem_shm.xml.fr new file mode 100644 index 0000000000..c4bdb14629 --- /dev/null +++ b/docs/manual/mod/mod_slotmem_shm.xml.fr @@ -0,0 +1,109 @@ + + + + + + + + + + + +mod_slotmem_shm +Fournisseur de mémoire partagée basée sur les +slots. +Extension +mod_slotmem_shm.c +slotmem_shm_module + + +

mod_slotmem_shm est un fournisseur de mémoire qui + permet la création et l'accès à un segment de mémoire partagée dans + lequel les ensembles de données sont organisés en "slots". +

+ +

L'ensemble de la mémoire partagée est effacé à chaque + redémarrage, que ce dernier soit graceful ou non. Les données sont + stockées et restituées dans/à partir d'un fichier défini par le + paramètre name des appels create et + attach. Si son chemin absolu n'est pas spécifié, le + chemin du fichier sera relatif au chemin défini par la directive + DefaultRuntimeDir. +

+ +

mod_slotmem_shm fournit les fonctions d'API suivantes + : +

+ +
+
apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)
+
appelle lecallback pour tous les slots actifs
+ +
apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)
+
crée un nouveau slot de mémoire dont chaque taille d'item est + item_size. name est utilisé pour générer le nom du fichier + permettant de stocker/restaurer le contenu de la mémoire partagée, + si elle est configurée. Les valeurs possibles sont : +
+
"none"
+
Mémoire partagée anonyme et pas de stockage + permanent
+
"file-name"
+
[DefaultRuntimeDir]/file-name
+
Absolute file name
+
$absolute-file-name
+
+
+ +
apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)
+
attache à un slot de mémoire existant. Voir + create pour la description du paramètre + name.
+ +
apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void**mem)
+
obtient la mémoire associée à ce slot actif.
+ +
apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)
+
lit la mémoire depuis ce slot et la transfert vers dest
+ +
apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)
+
écrit dans ce slot la mémoire en provenance de src
+ +
unsigned int num_slots(ap_slotmem_instance_t *s)
+
renvoie le nombre total de slots contenus dans ce segment
+ +
apr_size_t slot_size(ap_slotmem_instance_t *s)
+
renvoie la taille totale des données, en octets, contenues + dans un slot de ce segment
+ +
apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id);
+
alloue le premier slot libre et le marque comme utilisé (n'effectue aucune + copie de données)
+ +
apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id);
+
appropriation ou allocation forcée du slot spécifié et marquage comme + utilisé (n'effectue aucune copie de données)
+ +
apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id);
+
libère un slot et le marque comme non utilisé (n'effectue aucune + copie de données)
+
+ +
+ +
diff --git a/docs/manual/mod/mod_slotmem_shm.xml.meta b/docs/manual/mod/mod_slotmem_shm.xml.meta index 7cfbb9afcf..ec491332e7 100644 --- a/docs/manual/mod/mod_slotmem_shm.xml.meta +++ b/docs/manual/mod/mod_slotmem_shm.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_socache_dbm.html b/docs/manual/mod/mod_socache_dbm.html index 7f8f449bb6..01bfa92b6f 100644 --- a/docs/manual/mod/mod_socache_dbm.html +++ b/docs/manual/mod/mod_socache_dbm.html @@ -3,3 +3,7 @@ URI: mod_socache_dbm.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_socache_dbm.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_socache_dbm.html.fr b/docs/manual/mod/mod_socache_dbm.html.fr new file mode 100644 index 0000000000..ea0c09dd26 --- /dev/null +++ b/docs/manual/mod/mod_socache_dbm.html.fr @@ -0,0 +1,89 @@ + + + + + +mod_socache_dbm - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_socache_dbm

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de cache d'objets partagés basé sur DBM.
Statut:Extension
Identificateur de Module:socache_dbm_module
Fichier Source:mod_socache_dbm.c
+

Sommaire

+ +

Le module mod_socache_dbm est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par une base de données DBM. +

+ +

+ dbm:/chemin/vers/datafile +

+ +

Si le chemin spécifié n'est pas un chemin absolu, il sera relatif + au chemin défini via la directive DefaultRuntimeDir.

+ +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dbm.xml.fr b/docs/manual/mod/mod_socache_dbm.xml.fr new file mode 100644 index 0000000000..b30fe746ee --- /dev/null +++ b/docs/manual/mod/mod_socache_dbm.xml.fr @@ -0,0 +1,53 @@ + + + + + + + + + + + +mod_socache_dbm +Fournisseur de cache d'objets partagés basé sur DBM. +Extension +mod_socache_dbm.c +socache_dbm_module + + +

Le module mod_socache_dbm est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par une base de données DBM. +

+ + + dbm:/chemin/vers/datafile + + +

Si le chemin spécifié n'est pas un chemin absolu, il sera relatif + au chemin défini via la directive DefaultRuntimeDir.

+ +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+ +
diff --git a/docs/manual/mod/mod_socache_dbm.xml.meta b/docs/manual/mod/mod_socache_dbm.xml.meta index 036b390f96..3c0e26b712 100644 --- a/docs/manual/mod/mod_socache_dbm.xml.meta +++ b/docs/manual/mod/mod_socache_dbm.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_socache_dc.html b/docs/manual/mod/mod_socache_dc.html index e898ee2a03..56074f7545 100644 --- a/docs/manual/mod/mod_socache_dc.html +++ b/docs/manual/mod/mod_socache_dc.html @@ -3,3 +3,7 @@ URI: mod_socache_dc.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_socache_dc.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_socache_dc.html.fr b/docs/manual/mod/mod_socache_dc.html.fr new file mode 100644 index 0000000000..180328f32c --- /dev/null +++ b/docs/manual/mod/mod_socache_dc.html.fr @@ -0,0 +1,83 @@ + + + + + +mod_socache_dc - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_socache_dc

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de cache d'objets partagés basé sur dc.
Statut:Extension
Identificateur de Module:socache_dc_module
Fichier Source:mod_socache_dc.c
+

Sommaire

+ +

Le module mod_socache_dc est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par les bibliothèques de mise en cache de sessions + distribuées distcache. +

+ +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_dc.xml.fr b/docs/manual/mod/mod_socache_dc.xml.fr new file mode 100644 index 0000000000..5b60a7179e --- /dev/null +++ b/docs/manual/mod/mod_socache_dc.xml.fr @@ -0,0 +1,46 @@ + + + + + + + + + + + +mod_socache_dc +Fournisseur de cache d'objets partagés basé sur dc. +Extension +mod_socache_dc.c +socache_dc_module + + +

Le module mod_socache_dc est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par les bibliothèques de mise en cache de sessions + distribuées distcache. +

+ +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+ +
diff --git a/docs/manual/mod/mod_socache_dc.xml.meta b/docs/manual/mod/mod_socache_dc.xml.meta index 78c76b73a6..e1f2ad4281 100644 --- a/docs/manual/mod/mod_socache_dc.xml.meta +++ b/docs/manual/mod/mod_socache_dc.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_socache_memcache.html b/docs/manual/mod/mod_socache_memcache.html index 10fd3e2026..4670c895e4 100644 --- a/docs/manual/mod/mod_socache_memcache.html +++ b/docs/manual/mod/mod_socache_memcache.html @@ -3,3 +3,7 @@ URI: mod_socache_memcache.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_socache_memcache.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_socache_memcache.html.fr b/docs/manual/mod/mod_socache_memcache.html.fr new file mode 100644 index 0000000000..e9f2604ae7 --- /dev/null +++ b/docs/manual/mod/mod_socache_memcache.html.fr @@ -0,0 +1,135 @@ + + + + + +mod_socache_memcache - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_socache_memcache

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de cache d'objets partagés basé sur Memcache.
Statut:Extension
Identificateur de Module:socache_memcache_module
Fichier Source:mod_socache_memcache.c
+

Sommaire

+ +

Le module mod_socache_memcache est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par le système de mise en cache d'objets en mémoire + distribuée à hautes performances memcached. +

+ +

Cette méthode "create" du fournisseur de cache d'objets partagés + requiert une liste de spécifications hôte/port en cache mémoire + séparées par des virgules. Si vous utilisez ce fournisseur en + dans la configuration d'autres modules (comme + SSLSessionCache), vous devez + fournir la liste des serveurs sous la forme du paramètre optionnel + "arg".

+ +
SSLSessionCache memcache:memcache.example.com:12345,memcache2.example.com:12345
+ + +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+ + +
top
+

Directive MemcacheConnTTL

+ + + + + + + + +
Description:Durée de conservation des connexions inactives
Syntaxe:MemcacheConnTTL num[units]
Défaut:MemcacheConnTTL 15s
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_socache_memcache
Compatibilité:Disponible à partir de la version 2.4.17 du serveur HTTP +Apache.
+ +

Définit la durée pendant laquelle les connexions + inactives avec le(s) serveur(s) memcache seront conservées + (plateformes threadées seulement).

+ +

Les valeurs valides de la directive + MemcacheConnTTL sont des durées d'une heure + maximum. La valeur 0 signifie une absence de péremption

+ +

L'unité par défaut pour ce délai est la seconde, mais vous + pouvez ajouter un suffixe pour spécifier une unité différente ; ms + pour milliseconde, s pour seconde, min pour minute et h pour heure.. +

+ +

Dans les versions antérieures à 2.4.17, ce délai était codé en + dur et sa valeur était 600 microsecondes. La valeur la plus proche + de cette ancienne valeur pour la directive + MemcacheConnTTL est donc 1ms.

+ +
# Définition d'un délai de 10 minutes
+MemcacheConnTTL 10min
+# Définition d'un délai de 60 secondes
+MemcacheConnTTL 60
+
+ + +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_memcache.xml.fr b/docs/manual/mod/mod_socache_memcache.xml.fr new file mode 100644 index 0000000000..f7c0c1e812 --- /dev/null +++ b/docs/manual/mod/mod_socache_memcache.xml.fr @@ -0,0 +1,103 @@ + + + + + + + + + + + +mod_socache_memcache +Fournisseur de cache d'objets partagés basé sur Memcache. +Extension +mod_socache_memcache.c +socache_memcache_module + + +

Le module mod_socache_memcache est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par le système de mise en cache d'objets en mémoire + distribuée à hautes performances memcached. +

+ +

Cette méthode "create" du fournisseur de cache d'objets partagés + requiert une liste de spécifications hôte/port en cache mémoire + séparées par des virgules. Si vous utilisez ce fournisseur en + dans la configuration d'autres modules (comme + SSLSessionCache), vous devez + fournir la liste des serveurs sous la forme du paramètre optionnel + "arg".

+ + + SSLSessionCache memcache:memcache.example.com:12345,memcache2.example.com:12345 + + +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+ + +MemcacheConnTTL +Durée de conservation des connexions inactives +MemcacheConnTTL num[units] +MemcacheConnTTL 15s + +server config +virtual host + +Disponible à partir de la version 2.4.17 du serveur HTTP +Apache. + + + +

Définit la durée pendant laquelle les connexions + inactives avec le(s) serveur(s) memcache seront conservées + (plateformes threadées seulement).

+ +

Les valeurs valides de la directive + MemcacheConnTTL sont des durées d'une heure + maximum. La valeur 0 signifie une absence de péremption

+ +

L'unité par défaut pour ce délai est la seconde, mais vous + pouvez ajouter un suffixe pour spécifier une unité différente ; ms + pour milliseconde, s pour seconde, min pour minute et h pour heure.. +

+ +

Dans les versions antérieures à 2.4.17, ce délai était codé en + dur et sa valeur était 600 microsecondes. La valeur la plus proche + de cette ancienne valeur pour la directive + MemcacheConnTTL est donc 1ms.

+ + + +# Définition d'un délai de 10 minutes +MemcacheConnTTL 10min +# Définition d'un délai de 60 secondes +MemcacheConnTTL 60 + + + +
+
+ +
diff --git a/docs/manual/mod/mod_socache_memcache.xml.meta b/docs/manual/mod/mod_socache_memcache.xml.meta index 39453809ee..7b6d723f5b 100644 --- a/docs/manual/mod/mod_socache_memcache.xml.meta +++ b/docs/manual/mod/mod_socache_memcache.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_socache_shmcb.html b/docs/manual/mod/mod_socache_shmcb.html index 01249eb4f0..1fa64fc1de 100644 --- a/docs/manual/mod/mod_socache_shmcb.html +++ b/docs/manual/mod/mod_socache_shmcb.html @@ -3,3 +3,7 @@ URI: mod_socache_shmcb.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_socache_shmcb.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_socache_shmcb.html.fr b/docs/manual/mod/mod_socache_shmcb.html.fr new file mode 100644 index 0000000000..0c12ec0961 --- /dev/null +++ b/docs/manual/mod/mod_socache_shmcb.html.fr @@ -0,0 +1,90 @@ + + + + + +mod_socache_shmcb - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_socache_shmcb

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Fournisseur de cache d'objets partagés basé sur shmcb.
Statut:Extension
Identificateur de Module:socache_shmcb_module
Fichier Source:mod_socache_shmcb.c
+

Sommaire

+ +

Le module mod_socache_shmcb est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par un tampon cyclique à hautes performances au sein d'un + segment de mémoire partagée. +

+ +

+ shmcb:/chemin/vers/datafile(512000) +

+ +

Si le chemin spécifié n'est pas un chemin absolu, il sera relatif + au chemin défini via la directive DefaultRuntimeDir.

+ +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+

Directives

+

Ce module ne fournit aucune directive.

+

Traitement des bugs

Voir aussi

+
+ +
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_socache_shmcb.xml.fr b/docs/manual/mod/mod_socache_shmcb.xml.fr new file mode 100644 index 0000000000..d1c6a3289c --- /dev/null +++ b/docs/manual/mod/mod_socache_shmcb.xml.fr @@ -0,0 +1,54 @@ + + + + + + + + + + + +mod_socache_shmcb +Fournisseur de cache d'objets partagés basé sur shmcb. +Extension +mod_socache_shmcb.c +socache_shmcb_module + + +

Le module mod_socache_shmcb est un fournisseur de cache + d'objets partagés qui permet la création et l'accès à un cache + maintenu par un tampon cyclique à hautes performances au sein d'un + segment de mémoire partagée. +

+ + + shmcb:/chemin/vers/datafile(512000) + + +

Si le chemin spécifié n'est pas un chemin absolu, il sera relatif + au chemin défini via la directive DefaultRuntimeDir.

+ +

Vous trouverez des détails à propos des autres fournisseurs de + cache d'objets partagés ici. +

+ +
+ +
diff --git a/docs/manual/mod/mod_socache_shmcb.xml.meta b/docs/manual/mod/mod_socache_shmcb.xml.meta index 087e266715..ddd7d4baff 100644 --- a/docs/manual/mod/mod_socache_shmcb.xml.meta +++ b/docs/manual/mod/mod_socache_shmcb.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_speling.html b/docs/manual/mod/mod_speling.html index 7cc8d4ee00..8d138c2f9a 100644 --- a/docs/manual/mod/mod_speling.html +++ b/docs/manual/mod/mod_speling.html @@ -4,6 +4,10 @@ URI: mod_speling.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_speling.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_speling.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_speling.html.fr b/docs/manual/mod/mod_speling.html.fr new file mode 100644 index 0000000000..da47558a59 --- /dev/null +++ b/docs/manual/mod/mod_speling.html.fr @@ -0,0 +1,195 @@ + + + + + +mod_speling - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_speling

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
+ + + +
Description:Tente de corriger les erreurs de casse dans les URLs ou les +erreurs d'écriture mineures.
Statut:Extension
Identificateur de Module:speling_module
Fichier Source:mod_speling.c
+

Sommaire

+ + +

Il arrive que des requêtes pour des documents ne puissent pas + être traitées par le serveur Apache de base à cause d'une erreur + d'orthographe ou de majuscule. Ce module permet de traiter ce + problème en essayant de trouver un document correspondant, même + lorsque tous les autres modules y ont renoncé. Sa méthode de travail + consiste à comparer chaque nom de document du répertoire demandé + avec le document de la requête sans tenir compte de la + casse, et en acceptant jusqu'à une erreur + (insertion, omission, inversion de caractère ou caractère + erroné). Une liste de tous les documents qui correspondent est alors + élaborée en utilisant cette stratégie.

+ +

Si après le parcours du répertoire,

+ +
    +
  • aucun document correspondant n'a été trouvé, Apache procèdera + normalement et renverra une erreur "document non trouvé".
  • + +
  • un seul document correspondant pratiquement à la requête a + été trouvé, celui-ci est renvoyé sous la forme d'une réponse de + redirection.
  • + +
  • plusieurs documents pouvant correspondre ont été trouvés, une + liste des documents est envoyée au client afin que ce dernier + puisse sélectionner le document correct.
  • +
+ +
+ + +
top
+

Directive CheckBasenameMatch

+ + + + + + + + +
Description:Vérifie aussi la correspondance des fichiers, même avec des +extensions différentes
Syntaxe:CheckBasenameMatch on|off
Défaut:CheckBasenameMatch Off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:Options
Statut:Extension
Module:mod_speling
+

Cette option n'a aucun effet si + CheckCaseOnly a été défini.

+ +

Lorsqu'elle est définie, cette directive étend le processus de correction + orthographique à l'extension des noms de fichiers. Par exemple, un fichier + de nom foo.gif sera pris en compte par une requête pour + foo ou foo.jpg. Ceci peut s'avérer + particulièrement utile en conjonction avec les MultiViews.

+ + +
+
top
+

Directive CheckCaseOnly

+ + + + + + + + +
Description:Limite l'action du module aux corrections de +majuscules
Syntaxe:CheckCaseOnly on|off
Défaut:CheckCaseOnly Off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:Options
Statut:Extension
Module:mod_speling
+

Lorsqu'elle est définie à "on", cette directive permet de limiter + l'action du module aux inversions majuscule/minuscule. Les autres + corrections ne sont pas effectuées sauf si la directive + CheckBasenameMatch est aussi à "on"..

+ +
+
top
+

Directive CheckSpelling

+ + + + + + + + +
Description:Active le module de correction
Syntaxe:CheckSpelling on|off
Défaut:CheckSpelling Off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:Options
Statut:Extension
Module:mod_speling
+

Cette directive permet d'activer ou de désactiver le module de + correction. Lorsqu'il est activé, rappelez-vous que :

+ +
    +
  • le parcours du répertoire nécessaire à la correction aura un + impact sur les performances du serveur lorsque de nombreuses + corrections devront être effectuées au même moment.
  • + +
  • l'arborescence ne doit pas contenir de documents + sensibles qui pourraient être considérés par erreur comme + correspondant à la requête.
  • + +
  • le module ne corrige pas les noms d'utilisateur mal + orthographiés (comme dans + http://mon.serveur/~apahce/), mais seulement les noms + de fichiers ou de répertoires.
  • + +
  • les corrections s'appliquent strictement aux fichiers + existants, si bien qu'une requête pour <Location + /status> pour être traitée de manière incorrecte comme + une requête pour le fichier négocié "/stats.html".
  • +
+ + +

mod_speling ne doit pas être activé pour des répertoires où DAV l'est aussi, car il va essayer de + "corriger" les noms des ressources nouvellement créées en fonction + des noms de fichiers existants ; par exemple, lors du chargement + d'un nouveau document doc43.html, il est possible qu'il + redirige vers un document existant doc34.html, ce qui + ne correspond pas à ce que l'on souhaite. +

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_speling.xml.fr b/docs/manual/mod/mod_speling.xml.fr new file mode 100644 index 0000000000..09327ff265 --- /dev/null +++ b/docs/manual/mod/mod_speling.xml.fr @@ -0,0 +1,167 @@ + + + + + + + + + + + +mod_speling +Tente de corriger les erreurs de casse dans les URLs ou les +erreurs d'écriture mineures. +Extension +mod_speling.c +speling_module + + + + + +

Il arrive que des requêtes pour des documents ne puissent pas + être traitées par le serveur Apache de base à cause d'une erreur + d'orthographe ou de majuscule. Ce module permet de traiter ce + problème en essayant de trouver un document correspondant, même + lorsque tous les autres modules y ont renoncé. Sa méthode de travail + consiste à comparer chaque nom de document du répertoire demandé + avec le document de la requête sans tenir compte de la + casse, et en acceptant jusqu'à une erreur + (insertion, omission, inversion de caractère ou caractère + erroné). Une liste de tous les documents qui correspondent est alors + élaborée en utilisant cette stratégie.

+ +

Si après le parcours du répertoire,

+ +
    +
  • aucun document correspondant n'a été trouvé, Apache procèdera + normalement et renverra une erreur "document non trouvé".
  • + +
  • un seul document correspondant pratiquement à la requête a + été trouvé, celui-ci est renvoyé sous la forme d'une réponse de + redirection.
  • + +
  • plusieurs documents pouvant correspondre ont été trouvés, une + liste des documents est envoyée au client afin que ce dernier + puisse sélectionner le document correct.
  • +
+ +
+ + + +CheckSpelling +Active le module de correction +CheckSpelling on|off +CheckSpelling Off + +server config +virtual host +directory +.htaccess + +Options + + +

Cette directive permet d'activer ou de désactiver le module de + correction. Lorsqu'il est activé, rappelez-vous que :

+ +
    +
  • le parcours du répertoire nécessaire à la correction aura un + impact sur les performances du serveur lorsque de nombreuses + corrections devront être effectuées au même moment.
  • + +
  • l'arborescence ne doit pas contenir de documents + sensibles qui pourraient être considérés par erreur comme + correspondant à la requête.
  • + +
  • le module ne corrige pas les noms d'utilisateur mal + orthographiés (comme dans + http://mon.serveur/~apahce/), mais seulement les noms + de fichiers ou de répertoires.
  • + +
  • les corrections s'appliquent strictement aux fichiers + existants, si bien qu'une requête pour <Location + /status> pour être traitée de manière incorrecte comme + une requête pour le fichier négocié "/stats.html".
  • +
+ + +

mod_speling ne doit pas être activé pour des répertoires où DAV l'est aussi, car il va essayer de + "corriger" les noms des ressources nouvellement créées en fonction + des noms de fichiers existants ; par exemple, lors du chargement + d'un nouveau document doc43.html, il est possible qu'il + redirige vers un document existant doc34.html, ce qui + ne correspond pas à ce que l'on souhaite. +

+
+
+ + +CheckCaseOnly +Limite l'action du module aux corrections de +majuscules +CheckCaseOnly on|off +CheckCaseOnly Off + +server config +virtual host +directory +.htaccess + +Options + + +

Lorsqu'elle est définie à "on", cette directive permet de limiter + l'action du module aux inversions majuscule/minuscule. Les autres + corrections ne sont pas effectuées sauf si la directive + CheckBasenameMatch est aussi à "on"..

+
+
+ + +CheckBasenameMatch +Vérifie aussi la correspondance des fichiers, même avec des +extensions différentes +CheckBasenameMatch on|off +CheckBasenameMatch Off + +server config +virtual host +directory +.htaccess + +Options + + +

Cette option n'a aucun effet si + CheckCaseOnly a été défini.

+ +

Lorsqu'elle est définie, cette directive étend le processus de correction + orthographique à l'extension des noms de fichiers. Par exemple, un fichier + de nom foo.gif sera pris en compte par une requête pour + foo ou foo.jpg. Ceci peut s'avérer + particulièrement utile en conjonction avec les MultiViews.

+ +
+
+ +
diff --git a/docs/manual/mod/mod_speling.xml.meta b/docs/manual/mod/mod_speling.xml.meta index 0ccab96858..2b2546b834 100644 --- a/docs/manual/mod/mod_speling.xml.meta +++ b/docs/manual/mod/mod_speling.xml.meta @@ -8,6 +8,7 @@ en + fr ja ko diff --git a/docs/manual/mod/mod_ssl.html b/docs/manual/mod/mod_ssl.html index 003e75557c..0c214798bb 100644 --- a/docs/manual/mod/mod_ssl.html +++ b/docs/manual/mod/mod_ssl.html @@ -3,3 +3,7 @@ URI: mod_ssl.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_ssl.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_ssl.html.fr b/docs/manual/mod/mod_ssl.html.fr new file mode 100644 index 0000000000..d0bb23d170 --- /dev/null +++ b/docs/manual/mod/mod_ssl.html.fr @@ -0,0 +1,3056 @@ + + + + + +mod_ssl - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_ssl

+
+

Langues Disponibles:  en  | + fr 

+
+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
+ + + +
Description:Chiffrement de haut niveau basé sur les protocoles Secure +Sockets Layer (SSL) et Transport Layer Security (TLS)
Statut:Extension
Identificateur de Module:ssl_module
Fichier Source:mod_ssl.c
+

Sommaire

+ +

Ce module fournit le support SSL v3 et TLS v1.x au serveur HTTP +Apache. SSL v2 n'est plus supporté.

+ +

Ce module s'appuie sur OpenSSL +pour fournir le moteur de chiffrement.

+ +

D'autres détails, discussions et exemples sont fournis dans la documentation SSL.

+
+

Sujets

+

Directives

+ +

Traitement des bugs

Voir aussi

+
+
top
+
+

Variables d'environnement

+ +

Ce module peut être configuré pour fournir aux espaces de nommage SSI +et CGI de nombreux éléments d'informations concernant SSL par le biais +de variables d'environnement supplémentaires. Par défaut, et ceci pour +des raisons de performances, ces informations ne sont pas fournies (Voir +la directive SSLOptions StdEnvVars ci-dessous). +Les variables générées se trouvent dans la table ci-dessous. +L'information peut aussi être disponible sous des noms différents à des +fins de compatibilité ascendante. Reportez-vous au chapitre Compatibilité pour plus de détails à +propos des variables de compatibilité.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nom de la variable :Type de valeur :Description :
HTTPS drapeauHTTPS est utilisé.
SSL_PROTOCOL chaîneLa version du protocole SSL (SSLv3, TLSv1, TLSv1.1, TLSv1.2)
SSL_SESSION_ID chaîneL'identifiant de session SSL codé en hexadécimal
SSL_SESSION_RESUMED chaîneSession SSL initiale ou reprise. Note : plusieurs requêtes peuvent +être servies dans le cadre de la même session SSL (initiale ou reprise) +si les connexions persistantes (HTTP KeepAlive) sont utilisées
SSL_SECURE_RENEG chaînetrue si la renégociation sécurisée est supportée, +false dans le cas contraire
SSL_CIPHER chaîneLe nom de l'algorithme de chiffrement
SSL_CIPHER_EXPORT chaînetrue si l'algorithme de chiffrement est un algorithme +exporté
SSL_CIPHER_USEKEYSIZE nombreNombre de bits de chiffrement (réellement utilisés)
SSL_CIPHER_ALGKEYSIZE nombreNombre de bits de chiffrement (possible)
SSL_COMPRESS_METHOD chaîneMéthode de compression SSL négociée
SSL_VERSION_INTERFACE chaîneLa version du programme mod_ssl
SSL_VERSION_LIBRARY chaîneLa version du programme OpenSSL
SSL_CLIENT_M_VERSION chaîneLa version du certificat client
SSL_CLIENT_M_SERIAL chaîneLe numéro de série du certificat client
SSL_CLIENT_S_DN chaîneLe DN sujet du certificat client
SSL_CLIENT_S_DN_x509 chaîneElément du DN sujet du client
SSL_CLIENT_SAN_Email_nchaîne Extensions subjectAltName de type rfc822Name du certificat client
SSL_CLIENT_SAN_DNS_n chaîneExtensions subjectAltName de type dNSName du certificat client
SSL_CLIENT_SAN_OTHER_msUPN_nchaîne Extensions subjectAltName de type otherName du +certificat client, forme Microsoft du nom principal de l'utilisateur (OID 1.3.6.1.4.1.311.20.2.3)
SSL_CLIENT_I_DN chaîneDN de l'émetteur du certificat du client
SSL_CLIENT_I_DN_x509 chaîneElément du DN de l'émetteur du certificat du client
SSL_CLIENT_V_START chaîneValidité du certificat du client (date de début)
SSL_CLIENT_V_END chaîneValidité du certificat du client (date de fin)
SSL_CLIENT_V_REMAIN chaîneNombre de jours avant expiration du certificat du client
SSL_CLIENT_A_SIG chaîneAlgorithme utilisé pour la signature du certificat du client
SSL_CLIENT_A_KEY chaîneAlgorithme utilisé pour la clé publique du certificat du client
SSL_CLIENT_CERT chaîneCertificat du client au format PEM
SSL_CLIENT_CERT_CHAIN_nchaîne Certificats de la chaîne de certification du +client au format PEM
SSL_CLIENT_CERT_RFC4523_CEA chaîneNuméro de série et fournisseur du certificat. Le format correspond à +celui de la CertificateExactAssertion de la RFC4523
SSL_CLIENT_VERIFY chaîneNONE, SUCCESS, GENEROUS ou +FAILED:raison
SSL_SERVER_M_VERSION chaîneLa version du certificat du serveur
SSL_SERVER_M_SERIAL chaîne + +The serial of the server certificate
SSL_SERVER_S_DN chaîneDN sujet du certificat du serveur
SSL_SERVER_S_DN_x509 chaîneElément du DN sujet du certificat du serveur
SSL_SERVER_SAN_Email_nchaîne Extensions subjectAltName de type rfc822Name du +certificat serveur
SSL_CLIENT_SAN_DNS_n chaîneExtensions subjectAltName de type dNSName du certificat serveur
SSL_SERVER_SAN_OTHER_dnsSRV_nchaîne Extensions subjectAltName de type otherName du +certificat serveur, sous la forme SRVName (OID 1.3.6.1.5.5.7.8.7, RFC 4985)
SSL_SERVER_I_DN chaîneDN de l'émetteur du certificat du serveur
SSL_SERVER_I_DN_x509 chaîneElément du DN de l'émetteur du certificat du serveur
SSL_SERVER_V_START chaîneValidité du certificat du serveur (date de dédut)
SSL_SERVER_V_END chaîneValidité du certificat du serveur (date de fin)
SSL_SERVER_A_SIG chaîneAlgorithme utilisé pour la signature du certificat du serveur
SSL_SERVER_A_KEY chaîneAlgorithme utilisé pour la clé publique du certificat du serveur
SSL_SERVER_CERT chaîneCertificat du serveur au format PEM
SSL_SRP_USER stringnom d'utilisateur SRP
SSL_SRP_USERINFO stringinformations sur l'utilisateur SRP
SSL_TLS_SNI stringContenu de l'extension SNI TLS (si supporté par ClientHello)
+ +

x509 spécifie un élément de DN X.509 parmi +C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email. A partir de la version +2.1 d'Apache, x509 peut aussi comporter un suffixe numérique +_n. Si le DN en question comporte plusieurs attributs de +noms identiques, ce suffixe constitue un index débutant à zéro et +permettant de sélectionner un +attribut particulier. Par exemple, si le DN sujet du certificat du +serveur comporte deux champs OU, on peut utiliser +SSL_SERVER_S_DN_OU_0 et SSL_SERVER_S_DN_OU_1 +pour référencer chacun d'entre eux. Un nom de variable sans suffixe +_n est équivalent au même nom avec le suffixe +_0, ce qui correspond au premier attribut (ou au seul) +caractérisant le DN. +Lorsque la table d'environnement est remplie en utilisant l'option +StdEnvVars de la directive SSLOptions, le premier attribut (ou le +seul) caractérisant le DN est enregistré avec un nom sans suffixe ; +autrement dit, aucune entrée possédant comme suffixe _0 +n'est enregistrée.

+ +

Le format des variables *_DN a changé depuis la version +2.3.11 d'Apache HTTPD. Voir l'option LegacyDNStringFormat +de la directive SSLOptions pour +plus de détails.

+ +

SSL_CLIENT_V_REMAIN n'est disponible qu'à partir de la +version 2.1.

+ +

Plusieurs variables d'environnement additionnelles peuvent être +utilisées dans les expressions SSLRequire, ou +dans les formats de journalisation personnalisés :

+ +
HTTP_USER_AGENT        PATH_INFO             AUTH_TYPE
+HTTP_REFERER           QUERY_STRING          SERVER_SOFTWARE
+HTTP_COOKIE            REMOTE_HOST           API_VERSION
+HTTP_FORWARDED         REMOTE_IDENT          TIME_YEAR
+HTTP_HOST              IS_SUBREQ             TIME_MON
+HTTP_PROXY_CONNECTION  DOCUMENT_ROOT         TIME_DAY
+HTTP_ACCEPT            SERVER_ADMIN          TIME_HOUR
+THE_REQUEST            SERVER_NAME           TIME_MIN
+REQUEST_FILENAME       SERVER_PORT           TIME_SEC
+REQUEST_METHOD         SERVER_PROTOCOL       TIME_WDAY
+REQUEST_SCHEME         REMOTE_ADDR           TIME
+REQUEST_URI            REMOTE_USER
+ +

Dans ces contextes, deux formats spéciaux peuvent aussi être utilisés +:

+ +
+
ENV:nom_variable
+
Correspond à la variable d'environnement standard + nom_variable.
+ +
HTTP:nom_en-tête
+
Correspond à la valeur de l'en-tête de requête dont le nom est + nom_en-tête.
+
+ +
top
+
+

Formats de journaux +personnalisés

+ +

Lorsque mod_ssl est compilé dans le serveur Apache +ou même chargé (en mode DSO), des fonctions supplémentaires sont +disponibles pour le Format de journal personnalisé du +module mod_log_config. A ce titre, la fonction de +format d'eXtension ``%{nom-var}x'' +peut être utilisée pour présenter en extension toute variable fournie +par tout module, et en particulier celles fournies par mod_ssl et que +vous trouverez dans la table ci-dessus.

+

+A des fins de compatibilité ascendante, il existe une fonction de format +cryptographique supplémentaire +``%{nom}c''. Vous trouverez toutes +les informations à propos de cette fonction dans le chapitre Compatibilité.

+

Exemple

CustomLog "logs/ssl_request_log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+
+

Ces formats sont disponibles même si l'option StdEnvVars de la +directive SSLOptions n'a pas été +définie.

+
top
+
+

Information à propos de la requête

+ +

mod_ssl enregistre des informations à propos de la +requête que l'on peut restituer dans les journaux avec la chaîne de +format %{nom}n via le module +mod_log_config.

+ +

Les informations enregistrées sont les suivantes :

+ +
+
ssl-access-forbidden
+
Cette information contient la valeur 1 si l'accès a + été refusé suite à une directive SSLRequire ou + SSLRequireSSL.
+ +
ssl-secure-reneg
+
Si mod_ssl a été compilé avec une version + d'OpenSSL qui supporte la renégociation sécurisée, si SSL est utilisé + pour la connexion courante et si le client supporte lui aussi la + renégociation sécurisée, cette information contiendra la valeur + 1. Si le client ne supporte pas la renégociation + sécurisée, l'information contiendra la valeur 0. Si + mod_ssl n'a pas été compilé avec une version + d'OpenSSL qui supporte la renégociation sécurisée, ou si SSL n'est pas + utilisé pour la connexion courante, le contenu de l'information ne + sera pas défini.
+
+ +
top
+
+

Extension pour l'interprétation +des expressions

+ +

Lorsque mod_ssl est compilé statiquement avec +Apache, ou même chargé dynamiquement (en tant que module DSO), toute variable en provenance de mod_ssl peut +être utilisée pour l'interprétation des +expression ap_expr. Les variables peuvent être référencées en +utilisant la syntaxe ``%{varname}''. +A partir de la version 2.4.18, on peut aussi utiliser la syntaxe de +style mod_rewrite +``%{SSL:varname}'', ou la syntaxe de +style fonction ``ssl(varname)''.

+

Exemple (en utilisant mod_headers)

Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}"
+Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}"
+
+

Cette fonctionnalité est disponible même si l'option +StdEnvVars de la directive SSLOptions n'a pas été définie.

+
top
+
+

Fournisseurs d'autorisation +disponibles avec Require

+ +

mod_ssl propose quelques fournisseurs + d'autorisation à utiliser avec la directive Require du module + mod_authz_core.

+ +

Require ssl

+ +

Le fournisseur ssl refuse l'accès si une connexion + n'est pas chiffrée avec SSL. L'effet est similaire à celui de la + directive SSLRequireSSL.

+ + +
Require ssl
+ + + + + +

Require ssl-verify-client

+ +

Le fournisseur ssl autorise l'accès si + l'utilisateur est authentifié via un certificat client valide. Ceci + n'a un effet que si SSLVerifyClient optional est actif.

+ +

Dans l'exemple suivant, l'accès est autorisé si le client est + authentifié via un certificat client ou par nom d'utilisateur/mot de + passe :

+ +
Require ssl-verify-client
+Require valid-user
+ + + + +
+
top
+

Directive SSLCACertificateFile

+ + + + + + +
Description:Fichier contenant une concaténation des certificats de CA +codés en PEM pour l'authentification des clients
Syntaxe:SSLCACertificateFile chemin-fichier
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le fichier tout-en-un où vous +pouvez rassembler les certificats des Autorités de Certification (CAs) +pour les clients auxquels vous avez à faire. On les utilise pour +l'authentification des clients. Un tel fichier contient la simple +concaténation des différents fichiers de certificats codés en PEM, par +ordre de préférence. Cette directive peut être utilisée à la place et/ou +en complément de la directive SSLCACertificatePath.

+

Exemple

SSLCACertificateFile /usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt
+
+ +
+
top
+

Directive SSLCACertificatePath

+ + + + + + +
Description:Répertoire des certificats de CA codés en PEM pour +l'authentification des clients
Syntaxe:SSLCACertificatePath chemin-répertoire
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les clients +auxquels vous avez à faire. On les utilise pour vérifier le certificat +du client au cours de l'authentification de ce dernier.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+

Exemple

SSLCACertificatePath /usr/local/apache2/conf/ssl.crt/
+
+ +
+
top
+

Directive SSLCADNRequestFile

+ + + + + + +
Description:Fichier contenant la concaténation des certificats de CA +codés en PEM pour la définition de noms de CA acceptables
Syntaxe:SSLCADNRequestFile chemin-fichier
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Lorsque mod_ssl demande un certificat client, une liste de noms +d'Autorités de Certification acceptables est envoyée au client au +cours de la phase d'initialisation de la connexion SSL. Le client peut +alors utiliser cette liste de noms de CA pour sélectionner un certificat +client approprié parmi ceux dont il dispose.

+ +

Si aucune des directives SSLCADNRequestPath ou SSLCADNRequestFile n'est définie, la liste +de noms de CsA acceptables envoyée au client est la liste des noms de +tous les certificats de CA spécifiés par les directives SSLCACertificateFile et SSLCACertificatePath ; en d'autres termes, +c'est la liste des noms de CAs qui sera effectivement utilisée pour +vérifier le certificat du client.

+ +

Dans certaines situations, il est utile de pouvoir envoyer +une liste de noms de CA acceptables qui diffère de la liste des CAs +effectivement utilisés pour vérifier le certificat du client ; +considérons par exemple le cas où le certificat du client est signé par +des CAs intermédiaires. On peut ici utiliser les directives SSLCADNRequestPath et/ou SSLCADNRequestFile, et les noms de CA +acceptables seront alors extraits de l'ensemble des certificats contenus +dans le répertoire et/ou le fichier définis par cette paire de +directives.

+ +

SSLCADNRequestFile doit +spécifier un fichier tou-en-un contenant une concaténation des +certificats de CA codés en PEM.

+ +

Exemple

SSLCADNRequestFile /usr/local/apache2/conf/ca-names.crt
+
+ +
+
top
+

Directive SSLCADNRequestPath

+ + + + + + +
Description:Répertoire contenant des fichiers de certificats de CA +codés en PEM pour la définition de noms de CA acceptables
Syntaxe:SSLCADNRequestPath chemin-répertoire
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+ +

Cette directive optionnelle permet de définir la liste de noms de +CAs acceptables qui sera envoyée au client lorsqu'un certificat de +client est demandé. Voir la directive SSLCADNRequestFile pour plus de +détails.

+ +

Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+

Exemple

SSLCADNRequestPath /usr/local/apache2/conf/ca-names.crt/
+
+ +
+
top
+

Directive SSLCARevocationCheck

+ + + + + + + + +
Description:Active la vérification des révocations basée sur les CRL
Syntaxe:SSLCARevocationCheck chain|leaf|none flags
Défaut:SSLCARevocationCheck none
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Le paramètre optionnel flags est disponible à partir de +la version 2.5 du serveur HTTP Apache
+

+Active la vérification des révocations basée sur les Listes de +Révocations de Certificats (CRL). Au moins une des directives SSLCARevocationFile ou SSLCARevocationPath doit être définie. +Lorsque cette directive est définie à chain (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur leaf limite +la vérification au certificat hors chaîne (la feuille). +

+
+

Lorsque la directive est définie à chain ou +leaf, les CRLs doivent être disponibles pour que la +validation réussisse

+

+Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL n'était trouvée dans les chemins +définis par les directives SSLCARevocationFile ou SSLCARevocationPath. Le comportement a +changé avec l'introduction de cette directive : lorsque la vérification +est activée, les CRLs doivent être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur "CRL introuvable". +

+
+ +

Les drapeaux disponibles sont :

+
    +
  • no_crl_for_cert_ok +

    + Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL pour le/les certificat(s) vérifié(s) n'était +trouvée dans les chemins définis par les directives SSLCARevocationFile ou SSLCARevocationPath. +

    +

    + Ce comportement a changé avec l'introduction de cette directive ; par défaut + avec chain ou leaf, les CRLs doivent être présents + pour que la validation réussisse ; si ce n'est pas le cas, elle échouera + avec une erreur "unable to get certificate CRL". +

    +

    + Le drapeau no_crl_for_cert_ok permet de rétablir le + comportement précédent. +

    +
  • +
+ +

Exemple

SSLCARevocationCheck chain
+
+

Compatibilité avec les versions 2.2

SSLCARevocationCheck chain no_crl_for_cert_ok
+
+ +
+
top
+

Directive SSLCARevocationFile

+ + + + + + +
Description:Fichier contenant la concaténation des CRLs des CA codés en +PEM pour l'authentification des clients
Syntaxe:SSLCARevocationFile chemin-fichier
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le fichier tout-en-un où sont +rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités +de certification (CAs) pour les clients auxquels vous avez à faire. On +les utilise pour l'authentification des clients. Un tel fichier contient +la simple concaténation des différents fichiers de CRLs codés en PEM, +dans l'ordre de préférence. Cette directive peut être utilisée à la +place et/ou en complément de la directive SSLCARevocationPath.

+

Exemple

SSLCARevocationFile /usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl
+
+ +
+
top
+

Directive SSLCARevocationPath

+ + + + + + +
Description:Répertoire des CRLs de CA codés en PEM pour +l'authentification des clients
Syntaxe:SSLCARevocationPath chemin-répertoire
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les clients auxquels vous avez à faire. On les utilise pour +révoquer les certificats des clients au cours de l'authentification de +ces derniers.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+

Exemple

SSLCARevocationPath /usr/local/apache2/conf/ssl.crl/
+
+ +
+
top
+

Directive SSLCertificateChainFile

+ + + + + + +
Description:Fichier contenant les certificats de CA du serveur codés en +PEM
Syntaxe:SSLCertificateChainFile chemin-fichier
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

SSLCertificateChainFile est obsolète

+

SSLCertificateChainFile est devenue obsolète avec la +version 2.4.8, lorsque la directive +SSLCertificateFile a été étendue +pour supporter aussi les certificats de CA intermédiaires dans le +fichier de certificats du serveur.

+
+ +

+Cette directive permet de définir le fichier optionnel +tout-en-un où vous pouvez rassembler les certificats des +Autorités de Certification (CA) qui forment la chaîne de certification +du certificat du serveur. Cette chaîne débute par le certificat de la CA +qui a délivré le certificat du serveur et peut remonter jusqu'au +certificat de la CA racine. Un tel fichier contient la simple +concaténation des différents certificats de CA codés en PEM, en général +dans l'ordre de la chaîne de certification.

+

Elle doit être utilisée à la place et/ou en complément de la +directive SSLCACertificatePath +pour construire explicitement la chaîne de certification du serveur qui +est envoyée au navigateur en plus du certificat du serveur. Elle s'avère +particulièrement utile pour éviter les conflits avec les certificats de +CA lorsqu'on utilise l'authentification du client. Comme le fait de +placer un certificat de CA de la chaîne de certification du serveur dans +la directive SSLCACertificatePath produit le même effet +pour la construction de la chaîne de certification, cette directive a +pour effet colatéral de faire accepter les certificats clients fournis +par cette même CA, au cours de l'authentification du client.

+

+Soyez cependant prudent : fournir la chaîne de certification ne +fonctionne que si vous utilisez un simple certificat de +serveur RSA ou DSA. Si vous utilisez une paire de certificats +couplés RSA+DSA , cela ne fonctionnera que si les deux certificats +utilisent vraiment la même chaîne de certification. Dans le cas +contraire, la confusion risque de s'installer au niveau des +navigateurs.

+

Exemple

SSLCertificateChainFile /usr/local/apache2/conf/ssl.crt/ca.crt
+
+ +
+
top
+

Directive SSLCertificateFile

+ + + + + + +
Description:Fichier de données contenant les informations de certificat X.509 du serveur +codées au format PEM
Syntaxe:SSLCertificateFile chemin-fichier
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le fichier de données contenant +les informations de certificat +X.509 du serveur codées au format PEM. Ce fichier doit contenir +au minimum un certificat d'entité finale (feuille). +La directive peut être utilisée plusieurs fois (elle référence des +fichiers différents) pour accepter plusieurs algorithmes +d'authentification au niveau du serveur - souvent RSA, DSA et ECC. Le +nombre d'algorithmes supportés dépend de la version d'OpenSSL utilisée +avec mod_ssl : à partir de la version 1.0.0, la commande openssl +list-public-key-algorithms affiche la liste des algorithmes +supportés. Voir aussi la note ci-dessous à propos des limitations des versions +d'OpenSSL antérieures à 1.0.2 et la manière de les contourner. +

+ +

Les fichiers peuvent aussi contenir des certificats de CA +intermédiaires triés depuis la feuille vers la racine. Cette +fonctionnalité est disponible depuis la version 2.4.8 du serveur HTTP +Apache, et rend obsolète la directive SSLCertificateChainFile. A partir de la +version 1.0.2 d'OpenSSL, il est alors possible de configurer la chaîne +de certification en fonction du certificat.

+ +

Depuis la version 2.4.7 du serveur HTTP Apache, on peut aussi ajouter +des paramètres DH personnalisés et un nom EC +curve pour les clés éphémères à la fin du premier fichier défini par la +directive SSLCertificateFile. +Ces paramètres peuvent être générés avec les commandes openssl +dhparam et openssl ecparam, et ils peuvent être +ajoutés tel quel à la fin du premier fichier de certificat. En effet, +seul le premier fichier de certificat défini peut être utilisé pour +enregistrer des paramètres personnalisés, car ces derniers s'appliquent +indépendamment de l'algorithme d'authentification utilisé. +

+ +

Enfin, il est aussi possible d'ajouter la clé privée du certificat de +l'entité finale au fichier de certificat, ce qui permet de se passer +d'une directive SSLCertificateKeyFile séparée. Cette +pratique est cependant fortement déconseillée. En effet, les fichiers de +certificats qui contiennent de tels clés embarquées doivent être définis +avant les certificats en utilisant un fichier de clé séparé. En outre, +si la clé est chiffrée, une boîte de dialogue pour entrer le mot de +passe de la clé s'ouvre au démarrage du serveur. +

+ +
+

Interopérabilité des paramètres DH avec les nombres premiers de +plus de 1024 bits

+

+Depuis la version 2.4.7, mod_ssl utilise des +paramètres DH standardisés avec des nombres premiers de 2048, 3072 et +4096 bits, et avec des nombres premiers de 6144 et 8192 bits depuis la +version 2.4.10 (voir RFC +3526), et les fournit aux clients en fonction de la longueur de la +clé du certificat RSA/DSA. En particulier avec les clients basés sur +Java (versions 7 et antérieures), ceci peut provoquer des erreurs au +cours de la négociation - voir cette réponse de la FAQ SSL pour +contourner les problèmes de ce genre. +

+
+ +
+

Paramètres DH par défaut lorsqu'on utilise plusieurs certificats et une +version d'OpenSSL antérieure à 1.0.2.

+

+Lorsqu'on utilise plusieurs certificats pour supporter différents algorithmes +d'authentification (comme RSA, DSA, mais principalement ECC) et une +version d'OpenSSL antérieure à 1.0.2, il est recommandé soit d'utiliser des +paramètres DH spécifiques (solution à privilégier) en les ajoutant au premier +fichier certificat (comme décrit ci-dessus), soit d'ordonner les directives +SSLCertificateFile de façon à ce que les certificats +RSA/DSA soit placés après les certificats ECC. +

+

+Cette limitation est présente dans les anciennes versions d'OpenSSL qui +présentent toujours le dernier certificat configuré, au lieu +de laisser le serveur HTTP Apache déterminer le certificat sélectionné lors de +la phase de négociation de la connexion (lorsque les paramètres DH doivent être +envoyés à l'hôte distant). +De ce fait, le serveur peut sélectionner des paramètres DH par défaut basés sur +la longueur de la clé du mauvais certificat (les clés ECC sont beaucoup plus +petites que les clés RSA/DSA et leur longueur n'est pas pertinente pour la +sélection des nombres premiers DH). +

+

+Ce problème peut être résolu en créant et configurant des paramètres DH +spécifiques (comme décrit ci-dessus), car ils l'emportent toujours sur les +paramètres DH par défaut, et vous pourrez ainsi utiliser une longueur spécifique +et appropriée. +

+
+ +

Exemple

SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt
+
+ +
+
top
+

Directive SSLCertificateKeyFile

+ + + + + + +
Description:Fichier contenant la clé privée du serveur codée en +PEM
Syntaxe:SSLCertificateKeyFile chemin-fichier
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le fichier contenant la clé privée du +serveur codée en PEM. Si la clé privée est +chiffrée, une boîte de dialogue demandant le mot de passe de cette +dernière s'ouvre au démarrage du serveur.

+ +

+Cette directive peut être utilisée plusieurs fois pour référencer +différents noms de fichiers, afin de supporter plusieurs algorithmes +pour l'authentification du serveur. A chaque directive SSLCertificateKeyFile doit être associée +une directive SSLCertificateFile correspondante.

+ +

+La clé privé peut aussi être ajoutée au fichier défini par la directive +SSLCertificateFile, mais cette +pratique est fortement déconseillée. En effet, les fichiers de +certificats qui comportent une telle clé doivent être définis après les +certificats en utilisant un fichier de clé séparé.

+ +

Exemple

SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key
+
+ +
+
top
+

Directive SSLCipherSuite

+ + + + + + + + +
Description:Algorithmes de chiffrement disponibles pour la négociation +au cours de l'initialisation de la connexion SSL
Syntaxe:SSLCipherSuite algorithmes
Défaut:SSLCipherSuite DEFAULT (dépend de la version d'OpenSSL +installée)
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_ssl
+

+Cette directive complexe utilise la chaîne algorithmes +contenant la liste des algorithmes de chiffrement OpenSSL que le client +peut utiliser au cours de la phase d'initialisation de la connexion SSL. +Notez que cette directive peut être utilisée aussi bien dans un contexte +de serveur que dans un contexte de répertoire. Dans un contexte de +serveur, elle s'applique à l'initialisation SSL standard lorsqu'une +connexion est établie. Dans un contexte de répertoire, elle force une +renégociation SSL avec la liste d'algorithmes de chiffrement spécifiée +après la lecture d'une requête HTTP, mais avant l'envoi de la réponse +HTTP.

+

+La liste d'algorithmes de chiffrement SSL spécifiée par l'argument +algorithmes comporte quatre attributs principaux auxquels +s'ajoutent quelques attributs secondaires :

+
    +
  • Algorithme d'échange de clés:
    + RSA, Diffie-Hellman, Elliptic Curve Diffie-Hellman, Secure Remote Password. +
  • +
  • Algorithme d'authentification:
    + RSA, Diffie-Hellman, DSS, ECDSA, ou none. +
  • +
  • Algorithme de chiffrement:
    + AES, DES, Triple-DES, RC4, RC2, IDEA, etc... +
  • +
  • Algorithme de condensé MAC:
    + MD5, SHA ou SHA1, SHA256, SHA384. +
  • +
+

L'algorithme de chiffrement peut aussi provenir de l'extérieur. Les +algorithmes SSLv2 ne sont plus supportés. +Pour définir les algorithmes à utiliser, on +peut soit spécifier tous les algorithmes à la fois, soit utiliser des +alias pour spécifier une liste d'algorithmes dans leur ordre de +préférence (voir Table 1). Les algorithmes et +alias effectivement disponibles dépendent de la version d'openssl +utilisée. Les versions ultérieures d'openssl sont susceptibles d'inclure +des algorithmes supplémentaires.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Symbole Description
Algorithme d'échange de clés :
kRSA Echange de clés RSA
kDHr Echange de clés Diffie-Hellman avec +clé RSA
kDHd Echange de clés Diffie-Hellman avec +clé DSA
kEDH Echange de clés Diffie-Hellman +temporaires (pas de certificat)
kSRP échange de clés avec mot de passe +distant sécurisé (SRP)
Algorithmes d'authentification :
aNULL Pas d'authentification
aRSA Authentification RSA
aDSS Authentification DSS
aDH Authentification Diffie-Hellman
Algorithmes de chiffrement :
eNULL Pas de chiffrement
NULL alias pour eNULL
AES Chiffrement AES
DES Chiffrement DES
3DES Chiffrement Triple-DES
RC4 Chiffrement RC4
RC2 Chiffrement RC2
IDEA Chiffrement IDEA
Algorithmes de condensés MAC :
MD5 Fonction de hashage MD5
SHA1 Fonction de hashage SHA1
SHA alias pour SHA1
SHA256 Fonction de hashage SHA256
SHA384 Fonction de hashage SHA384
Alias :
SSLv3 tous les algorithmes de chiffrement +SSL version 3.0
TLSv1 tous les algorithmes de chiffrement +TLS version 1.0
EXP tous les algorithmes de chiffrement +externes
EXPORT40 tous les algorithmes de chiffrement +externes limités à 40 bits
EXPORT56 tous les algorithmes de chiffrement +externes limités à 56 bits
LOW tous les algorithmes de chiffrement +faibles (non externes, DES simple)
MEDIUM tous les algorithmes avec +chiffrement 128 bits
HIGH tous les algorithmes +utilisant Triple-DES
RSA tous les algorithmes +utilisant l'échange de clés RSA
DH tous les algorithmes +utilisant l'échange de clés Diffie-Hellman
EDH tous les algorithmes +utilisant l'échange de clés Diffie-Hellman temporaires
ECDH Echange de clés Elliptic Curve Diffie-Hellman
ADH tous les algorithmes +utilisant l'échange de clés Diffie-Hellman anonymes
AECDH tous les algorithmes utilisant +l'échange de clés Elliptic Curve Diffie-Hellman
SRP tous les algorithmes utilisant +l'échange de clés avec mot de passe distant sécurisé (SRP)
DSS tous les algorithmes +utilisant l'authentification DSS
ECDSA tous les algorithmes utilisant +l'authentification ECDSA
aNULL tous les algorithmes n'utilisant +aucune authentification
+

+Cela devient intéressant lorsque tous ces symboles sont combinés +ensemble pour spécifier les algorithmes disponibles et l'ordre dans +lequel vous voulez les utiliser. Pour simplifier tout cela, vous +disposez aussi d'alias (SSLv3, TLSv1, EXP, LOW, MEDIUM, +HIGH) pour certains groupes d'algorithmes. Ces symboles peuvent +être reliés par des préfixes pour former la chaîne algorithmes. +Les préfixes disponibles sont :

+
    +
  • none: ajoute l'algorithme à la liste
  • +
  • +: déplace les algorithmes qui conviennent à la +place courante dans la liste
  • +
  • -: supprime l'algorithme de la liste (peut être rajouté +plus tard)
  • +
  • !: supprime définitivement l'algorithme de la liste (ne +peut plus y être rajouté plus tard)
  • +
+ +
+

Les algorithmes aNULL, eNULL et +EXP sont toujours désactivés

+

Depuis la version 2.4.7, les +algorithmes de type null ou destinés à l'exportation sont toujours +désactivés car mod_ssl ajoute obligatoirement +!aNULL:!eNULL:!EXP à toute chaîne d'algorithme de +chiffrement à l'initialisation.

+
+ +

Pour vous simplifier la vie, vous pouvez utiliser la commande +``openssl ciphers -v'' qui vous fournit un moyen simple de +créer la chaîne algorithmes avec succès. La chaîne +algorithmes par défaut dépend de la version des bibliothèques +SSL installées. Supposons qu'elle contienne +``RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5'', ce qui +stipule de mettre RC4-SHA et AES128-SHA en +premiers, car ces algorithmes présentent un bon compromis entre vitesse +et sécurité. Viennent ensuite les algorithmes de sécurité élevée et +moyenne. En fin de compte, les algorithmes qui n'offrent aucune +authentification sont exclus, comme les algorithmes anonymes +Diffie-Hellman pour SSL, ainsi que tous les algorithmes qui utilisent +MD5 pour le hashage, car celui-ci est reconnu comme +insuffisant.

+
$ openssl ciphers -v 'RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5'
+RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1
+AES128-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1
+DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
+...                     ...               ...     ...           ...
+SEED-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=SEED(128) Mac=SHA1
+PSK-RC4-SHA             SSLv3 Kx=PSK      Au=PSK  Enc=RC4(128)  Mac=SHA1
+KRB5-RC4-SHA            SSLv3 Kx=KRB5     Au=KRB5 Enc=RC4(128)  Mac=SHA1
+

Vous trouverez la liste complète des algorithmes RSA & DH +spécifiques à SSL dans la Table 2.

+

Exemple

SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Symbole algorithme ProtocoleEchange de clés Authentification ChiffrementCondensé MAC Type
Algorithmes RSA :
DES-CBC3-SHA SSLv3 RSA RSA 3DES(168) SHA1
IDEA-CBC-SHA SSLv3 RSA RSA IDEA(128) SHA1
RC4-SHA SSLv3 RSA RSA RC4(128) SHA1
RC4-MD5 SSLv3 RSA RSA RC4(128) MD5
DES-CBC-SHA SSLv3 RSA RSA DES(56) SHA1
EXP-DES-CBC-SHA SSLv3 RSA(512) RSA DES(40) SHA1 export
EXP-RC2-CBC-MD5 SSLv3 RSA(512) RSA RC2(40) MD5 export
EXP-RC4-MD5 SSLv3 RSA(512) RSA RC4(40) MD5 export
NULL-SHA SSLv3 RSA RSA None SHA1
NULL-MD5 SSLv3 RSA RSA None MD5
Algorithmes Diffie-Hellman :
ADH-DES-CBC3-SHA SSLv3 DH None 3DES(168) SHA1
ADH-DES-CBC-SHA SSLv3 DH None DES(56) SHA1
ADH-RC4-MD5 SSLv3 DH None RC4(128) MD5
EDH-RSA-DES-CBC3-SHA SSLv3 DH RSA 3DES(168) SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 DH DSS 3DES(168) SHA1
EDH-RSA-DES-CBC-SHA SSLv3 DH RSA DES(56) SHA1
EDH-DSS-DES-CBC-SHA SSLv3 DH DSS DES(56) SHA1
EXP-EDH-RSA-DES-CBC-SHA SSLv3 DH(512) RSA DES(40) SHA1 export
EXP-EDH-DSS-DES-CBC-SHA SSLv3 DH(512) DSS DES(40) SHA1 export
EXP-ADH-DES-CBC-SHA SSLv3 DH(512) None DES(40) SHA1 export
EXP-ADH-RC4-MD5 SSLv3 DH(512) None RC4(40) MD5 export
+ +
+
top
+

Directive SSLCompression

+ + + + + + + + +
Description:Permet d'activer la compression au niveau SSL
Syntaxe:SSLCompression on|off
Défaut:SSLCompression off
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible à partir de la version 2.4.3 du serveur HTTP +Apache, si on utilise une version d'OpenSSL 0.9.8 ou supérieure ; +l'utilisation dans un contexte de serveur virtuel n'est disponible que +si on utilise une version d'OpenSSL 1.0.0 ou supérieure. La valeur par +défaut était on dans la version 2.4.3.
+

Cette directive permet d'activer la compression au niveau SSL.

+
+

L'activation de la compression est à l'origine de problèmes de +sécurité dans la plupart des configurations (l'attaque nommée CRIME).

+
+ +
+
top
+

Directive SSLCryptoDevice

+ + + + + + + +
Description:Active l'utilisation d'un accélérateur matériel de +chiffrement
Syntaxe:SSLCryptoDevice moteur
Défaut:SSLCryptoDevice builtin
Contexte:configuration du serveur
Statut:Extension
Module:mod_ssl
+

+Cette directive permet d'activer l'utilisation d'une carte accélératrice +de chiffrement qui prendra en compte certaines parties du traitement +relatif à SSL. Cette directive n'est utilisable que si la boîte à +outils SSL à été compilée avec le support "engine" ; les versions 0.9.7 +et supérieures d'OpenSSL possèdent par défaut le support "engine", alors +qu'avec la version 0.9.6, il faut utiliser les distributions séparées +"-engine".

+ +

Pour déterminer les moteurs supportés, exécutez la commande +"openssl engine".

+ +

Exemple

# Pour un accélérateur Broadcom :
+SSLCryptoDevice ubsec
+
+ +
+
top
+

Directive SSLEngine

+ + + + + + + +
Description:Interrupteur marche/arrêt du moteur SSL
Syntaxe:SSLEngine on|off|optional
Défaut:SSLEngine off
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet d'activer/désactiver le moteur du protocole +SSL/TLS. Elle doit être utilisée dans une section <VirtualHost> pour activer +SSL/TLS pour ce serveur virtuel particulier. Par défaut, le moteur du +protocole SSL/TLS est désactivé pour le serveur principal et tous les +serveurs virtuels configurés.

+

Exemple

<VirtualHost _default_:443>
+SSLEngine on
+#...
+</VirtualHost>
+
+

Depuis la version 2.1 d'Apache, la directive +SSLEngine peut être définie à +optional, ce qui active le support de RFC 2817, Upgrading to +TLS Within HTTP/1.1. Pour le moment, aucun navigateur web ne supporte +RFC 2817.

+ +
+
top
+

Directive SSLFIPS

+ + + + + + + +
Description:Coimmutateur du mode SSL FIPS
Syntaxe:SSLFIPS on|off
Défaut:SSLFIPS off
Contexte:configuration du serveur
Statut:Extension
Module:mod_ssl
+

+Cette directive permet d'activer/désactiver l'utilisation du drapeau +FIPS_mode de la bibliothèque SSL. Elle doit être définie dans le +contexte du serveur principal, et n'accepte pas les configurations +sources de conflits (SSLFIPS on suivi de SSLFIPS off par exemple). Le +mode s'applique à toutes les opérations de la bibliothèque SSL. +

+

+Si httpd a été compilé avec une bibliothèque SSL qui ne supporte pas le +drapeau FIPS_mode, la directive SSLFIPS on échouera. +Reportez-vous au document sur la politique de sécurité FIPS 140-2 de la +bibliothèque du fournisseur SSL, pour les prérequis spécifiques +nécessaires à l'utilisation de mod_ssl selon un mode d'opération +approuvé par FIPS 140-2 ; notez que mod_ssl en lui-même n'est pas +validé, mais peut être décrit comme utilisant un module de chiffrement +validé par FIPS 140-2, lorsque tous les composants sont assemblés et mis +en oeuvre selon les recommandations de la politique de sécurité +applicable. +

+ +
+
top
+

Directive SSLHonorCipherOrder

+ + + + + + + +
Description:Option permettant de classer les algorithmes de chiffrement +du serveur par ordre de préférence
Syntaxe:SSLHonorCipherOrder on|off
Défaut:SSLHonorCipherOrder off
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Normalement, ce sont les préférences du client qui sont prises en +compte lors du choix d'un algorithme de chiffrement au cours d'une +négociation SSLv3 ou TLSv1. Si cette directive est activée, ce sont les +préférences du serveur qui seront prises en compte à la place.

+

Exemple

SSLHonorCipherOrder on
+
+ +
+
top
+

Directive SSLInsecureRenegotiation

+ + + + + + + + +
Description:Option permettant d'activer le support de la renégociation +non sécurisée
Syntaxe:SSLInsecureRenegotiation on|off
Défaut:SSLInsecureRenegotiation off
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si une version 0.9.8m +ou supérieure d'OpenSSL est utilisée
+

Comme il a été spécifié, toutes les versions des protocoles SSL et +TLS (jusqu'à la version 1.2 de TLS incluse) étaient vulnérables à une +attaque de type Man-in-the-Middle (CVE-2009-3555) +au cours d'une renégociation. Cette vulnérabilité permettait à un +attaquant de préfixer la requête HTTP (telle qu'elle était vue du +serveur) avec un texte choisi. Une extension du protocole a été +développée pour corriger cette vulnérabilité, sous réserve qu'elle soit +supportée par le client et le serveur.

+ +

Si mod_ssl est lié à une version 0.9.8m ou +supérieure d'OpenSSL, par défaut, la renégociation n'est accordée qu'aux +clients qui supportent la nouvelle extension du protocole. Si +cette directive est activée, la renégociation sera accordée aux anciens +clients (non patchés), quoique de manière non sécurisée

+ +

Avertissement à propos de la sécurité

+

Si cette directive est activée, les connexions SSL seront vulnérables +aux attaques de type préfixe Man-in-the-Middle comme décrit dans CVE-2009-3555.

+
+ +

Exemple

SSLInsecureRenegotiation on
+
+ +

La variable d'environnement SSL_SECURE_RENEG peut être +utilisée dans un script SSI ou CGI pour déterminer si la renégociation +sécurisée est supportée pour une connexion SSL donnée.

+ + +
+
top
+

Directive SSLOCSPDefaultResponder

+ + + + + + +
Description:Définit l'URI du répondeur par défaut pour la validation +OCSP
Syntaxe:SSLOCSDefaultResponder uri
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Cette directive permet de définir le répondeur OCSP par défaut. Si la +directive SSLOCSPOverrideResponder n'est pas activée, +l'URI spécifié ne sera utilisé que si aucun URI de répondeur n'est +spécifié dans le certificat en cours de vérification.

+ +
+
top
+

Directive SSLOCSPEnable

+ + + + + + + +
Description:Active la validation OCSP de la chaîne de certificats du +client
Syntaxe:SSLOCSPEnable on|off
Défaut:SSLOCSPEnable off
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Cette directive permet d'activer la validation OCSP de la chaîne de +certificats du client. Si elle est activée, les certificats de la chaîne +de certificats du client seront validés auprès d'un répondeur OCSP, une +fois la vérification normale effectuée (vérification des CRLs +incluse).

+ +

Le répondeur OCSP utilisé est soit extrait du certificat lui-même, +soit spécifié dans la configuration ; voir les directives SSLOCSPDefaultResponder et SSLOCSPOverrideResponder.

+ +

Exemple

SSLVerifyClient on
+SSLOCSPEnable on
+SSLOCSPDefaultResponder http://responder.example.com:8888/responder
+SSLOCSPOverrideResponder on
+
+ +
+
top
+

Directive SSLOCSPOverrideResponder

+ + + + + + + +
Description:Force l'utilisation de l'URI du répondeur par défaut pour +la validation OCSP
Syntaxe:SSLOCSPOverrideResponder on|off
Défaut:SSLOCSPOverrideResponder off
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Force l'utilisation, au cours d'une validation OCSP de certificat, du +répondeur OCSP par défaut spécifié dans la configuration, que le +certificat en cours de vérification fasse mention d'un répondeur OCSP ou +non.

+ +
+
top
+

Directive SSLOCSPProxyURL

+ + + + + + + +
Description:Adresse de mandataire à utiliser pour les requêtes OCSP
Syntaxe:SSLOCSPProxyURL url
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible à partir de la version 2.4.19 du serveur HTTP Apache
+

Cette directive permet de définir l'URL d'un mandataire HTTP qui devra être +utilisé pour toutes les requêtes vers un répondeur OCSP.

+ +
+
top
+

Directive SSLOCSPResponderTimeout

+ + + + + + + +
Description:Délai d'attente pour les requêtes OCSP
Syntaxe:SSLOCSPResponderTimeout secondes
Défaut:SSLOCSPResponderTimeout 10
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Cette option permet de définir le délai d'attente pour les requêtes à +destination des répondeurs OCSP, lorsque la directive SSLOCSPEnable est à on.

+ +
+
top
+

Directive SSLOCSPResponseMaxAge

+ + + + + + + +
Description:Age maximum autorisé pour les réponses OCSP
Syntaxe:SSLOCSPResponseMaxAge secondes
Défaut:SSLOCSPResponseMaxAge -1
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Cette option permet de définir l'âge maximum autorisé (la +"fraicheur") des réponses OCSP. La valeur par défault (-1) +signifie qu'aucun âge maximum n'est définit ; autrement dit, les +réponses OCSP sont considérées comme valides tant que la valeur de leur +champ nextUpdate se situe dans le futur.

+ +
+
top
+

Directive SSLOCSPResponseTimeSkew

+ + + + + + + +
Description:Dérive temporelle maximale autorisée pour la validation des +réponses OCSP
Syntaxe:SSLOCSPResponseTimeSkew secondes
Défaut:SSLOCSPResponseTimeSkew 300
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

Cette option permet de définir la dérive temporelle maximale +autorisée pour les réponses OCSP (lors de la vérification des champs +thisUpdate et nextUpdate).

+ +
+
top
+

Directive SSLOCSPUseRequestNonce

+ + + + + + + + +
Description:Utilisation d'un nombre à usage unique au sein des requêtes +OCSP
Syntaxe:SSLOCSPUseRequestNonce on|off
Défaut:SSLOCSPUseRequestNonce on
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible à partir de la version 2.4.10 du serveur HTTP +Apache
+

Cette directive permet de spécifier si les requêtes vers les +répondeurs OCSP doivent contenir un nombre à usage unique ou non. Par +défaut, un nombre à usage unique est toujours présent dans les requêtes +et il est comparé à celui de la réponse. Lorsque le répondeur n'utilise pas de +nombre à usage unique (comme Microsoft OCSP Responder), cette directive +doit être définie à off.

+ +
+
top
+

Directive SSLOpenSSLConfCmd

+ + + + + + + +
Description:Configuration des paramètres d'OpenSSL via son API SSL_CONF
Syntaxe:SSLOpenSSLConfCmd commande valeur
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible depuis la version 2.4.8 du serveur HTTP +Apache avec OpenSSL 1.0.2 ou supérieur
+

Cette directive permet à mod_ssl d'accéder à l'API SSL_CONF +d'OpenSSL. Il n'est ainsi plus nécessaire d'implémenter des +directives supplémentaires pour mod_ssl lorsque de nouvelles +fonctionnalités sont ajoutées à OpenSSL, ce qui rend la configuration de +ce dernier beaucoup plus souple.

+ +

Le jeu de commandes disponibles pour la directive +SSLOpenSSLConfCmd dépend de la version d'OpenSSL +utilisée pour mod_ssl (la version minimale 1.0.2 est un +prérequis). Pour obtenir la liste des commandes supportées, voir la +section Supported configuration file commands de la page de +manuel d'OpenSSL SSL_CONF_cmd(3).

+ +

Certaines commandes peuvent remplacer des directives existantes +(comme SSLCipherSuite ou +SSLProtocol) ; notez cependant +que la syntaxe et/ou les valeurs possibles peuvent différer.

+ +

Examples

SSLOpenSSLConfCmd Options -SessionTicket,ServerPreference
+SSLOpenSSLConfCmd ECDHParameters brainpoolP256r1
+SSLOpenSSLConfCmd ServerInfoFile /usr/local/apache2/conf/server-info.pem
+SSLOpenSSLConfCmd Protocol "-ALL, TLSv1.2"
+SSLOpenSSLConfCmd SignatureAlgorithms RSA+SHA384:ECDSA+SHA256
+
+ +
+
top
+

Directive SSLOptions

+ + + + + + + +
Description:Configure différentes options d'exécution du moteur +SSL
Syntaxe:SSLOptions [+|-]option ...
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:Options
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de contrôler différentes options d'exécution du +moteur SSL dans un contexte de répertoire. Normalement, si plusieurs +SSLOptions peuvent s'appliquer à un répertoire, c'est la +plus spécifique qui est véritablement prise en compte ; les options ne +se combinent pas entre elles. Elles se combinent cependant entre elles +si elles sont toutes précédées par un symbole plus +(+) ou moins (-). Toute option précédée d'un ++ est ajoutée aux options actuellement en vigueur, et toute +option précédée d'un - est supprimée de ces mêmes +options. +

+

+Les options disponibles sont :

+
    +
  • StdEnvVars +

    + Lorsque cette option est activée, le jeu standard de variables + d'environnement SSL relatives à CGI/SSI est créé. Cette option est + désactivée par défaut pour des raisons de performances, car + l'extraction des informations constitue une opération assez coûteuse + en ressources. On n'active donc en général cette option que pour les + requêtes CGI et SSI.

    +
  • +
  • ExportCertData +

    + Lorsque cette option est activée, des variables d'environnement + CGI/SSI supplémentaires sont créées : SSL_SERVER_CERT, + SSL_CLIENT_CERT et + SSL_CLIENT_CERT_CHAIN_n (avec n = + 0,1,2,..). Elles contiennent les certificats X.509 codés en PEM du + serveur et du client pour la connexion HTTPS courante, et peuvent + être utilisées par les scripts CGI pour une vérification de + certificat plus élaborée. De plus, tous les autres certificats de la + chaîne de certificats du client sont aussi fournis. Tout ceci gonfle + un peu l'environnement, et c'est la raison pour laquelle vous ne + devez activer cette option qu'à la demande.

    +
  • +
  • FakeBasicAuth +

    + Lorsque cette option est activée, le Nom Distinctif (DN) sujet du + certificat client X509 est traduit en un nom d'utilisateur pour + l'autorisation HTTP de base. Cela signifie que les méthodes + d'authentification standard d'Apache peuvent être utilisées pour le + contrôle d'accès. Le nom d'utilisateur est tout simplement le Sujet + du certificat X509 du client (il peut être déterminé en utilisant la + commande OpenSSL openssl x509 : openssl x509 + -noout -subject -in certificat.crt). La + directive optionnelle SSLUserName permet de spécifier quelle + partie du sujet du certificat est incluse dans le nom d'utilisateur. + Notez qu'aucun mot de passe n'est envoyé par l'utilisateur. Chaque + entrée du fichier des utilisateurs doit comporter ce mot de passe : + ``xxj31ZMTZzkVA'', qui est la version chiffrée en DES + du mot ``password''. Ceux qui travaillent avec un + chiffrement basé sur MD5 (par exemple sous FreeBSD ou BSD/OS, + etc...) doivent utiliser le condensé MD5 suivant pour le même mot : + ``$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/''.

    + +

    Notez que la directive AuthBasicFake du module + mod_auth_basic permet de contrôler à la + fois le nom d'utilisateur et le mot de passe ; elle fournit donc un + mécanisme plus général de simulation d'authentification de base.

    +
  • +
  • StrictRequire +

    + Cette option force l'interdiction d'accès lorsque + SSLRequireSSL ou SSLRequire a décidé que + l'accès devait être interdit. Par défaut, dans le cas où + une directive ``Satisfy any'' est utilisée, et si + d'autres restrictions d'accès ont été franchies, on passe en général + outre l'interdiction d'accès due à SSLRequireSSL ou + SSLRequire (parce que c'est ainsi que le mécanisme + Satisfy d'Apache doit fonctionner). Pour des + restrictions d'accès plus strictes, vous pouvez cependant utiliser + SSLRequireSSL et/ou SSLRequire en + combinaison avec une option ``SSLOptions + +StrictRequire''. Une directive ``Satisfy Any'' + n'a alors aucune chance d'autoriser l'accès si mod_ssl a décidé de + l'interdire.

    +
  • +
  • OptRenegotiate +

    + Cette option active la gestion optimisée de la renégociation des + connexions SSL intervenant lorsque les directives SSL sont utilisées + dans un contexte de répertoire. Par défaut un schéma strict est + appliqué, et chaque reconfiguration des paramètres SSL au + niveau du répertoire implique une phase de renégociation SSL + complète. Avec cette option, mod_ssl essaie d'éviter les + échanges non nécessaires en effectuant des vérifications de + paramètres plus granulaires (mais tout de même efficaces). + Néanmoins, ces vérifications granulaires peuvent ne pas correspondre + à ce qu'attend l'utilisateur, et il est donc recommandé de n'activer + cette option que dans un contexte de répertoire.

    +
  • +
  • LegacyDNStringFormat +

    + Cette option permet d'agir sur la manière dont les valeurs des + variables SSL_{CLIENT,SERVER}_{I,S}_DN sont formatées. + Depuis la version 2.3.11, Apache HTTPD utilise par défaut un format + compatible avec la RFC 2253. Ce format utilise des virgules comme + délimiteurs entre les attributs, permet l'utilisation de caractères + non-ASCII (qui sont alors convertis en UTF8), échappe certains + caractères spéciaux avec des slashes inversés, et trie les attributs + en plaçant l'attribut "C" en dernière position.

    + +

    Si l'option LegacyDNStringFormat est présente, c'est + l'ancien format qui sera utilisé : les attributs sont triés avec + l'attribut "C" en première position, les séparateurs sont des + slashes non inversés, les caractères non-ASCII ne sont pas supportés + et le support des caractères spéciaux n'est pas fiable. +

    +
  • +
+

Exemple

SSLOptions +FakeBasicAuth -StrictRequire
+<Files ~ "\.(cgi|shtml)$">
+    SSLOptions +StdEnvVars -ExportCertData
+</Files>
+
+ +
+
top
+

Directive SSLPassPhraseDialog

+ + + + + + + +
Description:Méthode utilisée pour entrer le mot de passe pour les clés +privées chiffrées
Syntaxe:SSLPassPhraseDialog type
Défaut:SSLPassPhraseDialog builtin
Contexte:configuration du serveur
Statut:Extension
Module:mod_ssl
+

+Lors de son démarrage, Apache doit lire les différents fichiers de +certificats (voir la directive SSLCertificateFile) et de clés privées +(voir la directive SSLCertificateKeyFile) des serveurs +virtuels où SSL est activé. Comme, pour des raisons de sécurité, les +fichiers de clés privées sont en général chiffrés, mod_ssl doit +demander à l'administrateur un mot de passe pour déchiffrer ces +fichiers. L'argument type permet de choisir la manière dont +cette demande peut être formulée parmi les trois suivantes :

+
    +
  • builtin +

    + C'est la méthode par défaut, et un dialogue interactive de terminal + s'ouvre au cours du démarrage juste avant qu'Apache ne se détache du + terminal. A ce moment, l'administrateur doit entrer manuellement un + mot de passe pour chaque fichier de clé privée chiffré. Etant donné + qu'il peut y avoir un grand nombre de serveurs virtuels configurés + avec SSL activé, le protocole de réutilisation suivant est utilisé + pour minimiser le dialogue : lorsqu'un fichier de clé privée est + chiffré, tous les mots de passe connus (au début, il n'y en a aucun, + bien entendu) sont essayés. Si l'un de ces mots de passe connus + convient, aucun dialogue ne s'ouvrira pour ce fichier de + clé privée particulier. Si aucun ne convient, un autre mot de passe + sera demandé à partir du terminal et sera mis en mémoire pour le + fichier de clé privée suivant (pour lequel il pourra éventuellement + être réutilisé).

    +

    + Cette méthode confère à mod_ssl une grande souplesse (car pour N + fichiers de clé privée chiffrés, vous pouvez utiliser N + mots de passe différents - mais vous devrez alors tous les fournir, + bien entendu), tout en minimisant le dialogue de terminal (vous + pouvez en effet utiliser un seul mot de passe pour les N fichiers de + clé privée et vous n'aurez alors à l'entrer qu'une seule + fois).

  • + +
  • |/chemin/vers/programme [arguments...] + +

    Ce mode permet d'utiliser un programme externe qui va se présenter + comme une redirection vers un périphérique d'entrée particulier ; le + texte de prompt standard utilisé pour le mode builtin + est envoyé au programme sur stdin, et celui-ci doit + renvoyer des mots de passe sur stdout. Si + plusieurs mots de passe sont requis (ou si un mot de passe incorrect + a été entré), un texte de prompt supplémentaire sera écrit après le + retour du premier mot de passe, et d'autres mots de passe devront + alors être réécrits.

  • + +
  • exec:/chemin/vers/programme +

    + Ici, un programme externe est appelé au démarrage du serveur pour + chaque fichier de clé privée chiffré. Il est + appelé avec un + argument, une chaîne de la forme + "servername:portnumber:index" (index étant un numéro + d'ordre débutant 0), qui indique pour quels serveur, port TCP et + numéro de certificat il doit écrire le mot de + passe correspondant sur stdout. Le but recherché est + l'exécution de vérifications de sécurité préalables permettant de + s'assurer que le système n'est pas victime d'une attaque, et de ne + fournir le mot de passe que si toutes les vérifications ont été + effectuées avec succès.

    +

    + Ces vérifications de sécurité, ainsi que la manière dont le mot de + passe est déterminé peuvent être aussi sophistiqués que vous le + désirez. Mod_ssl ne définit que l'interface : un programme + exécutable qui écrit le mot de passe sur stdout. Ni + plus, ni moins ! Ainsi, si vous êtes vraiment paranoïaque en matière + de sécurité, voici votre interface. Tout le reste doit être confié à + l'administrateur à titre d'exercice, car les besoins en sécurité + locale sont très différents.

    +

    + L'algorithme de réutilisation est utilisé ici aussi. En d'autres + termes, le programme externe n'est appelé qu'une fois par mot de + passe unique.

  • +
+

Exemple

SSLPassPhraseDialog exec:/usr/local/apache/sbin/pp-filter
+
+ +
+
top
+

Directive SSLProtocol

+ + + + + + + +
Description:Indique les versions du protocole SSL/TLS +disponibles
Syntaxe:SSLProtocol [+|-]protocole ...
Défaut:SSLProtocol all -SSLv3
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir quelles versions du protocole SSL/TLS +seront acceptées lors de l'initialisation d'une nouvelle connexion.

+

+Les protocoles disponibles sont les suivants (sensibles à la +casse) :

+
    +
  • SSLv3 +

    + Il s'agit du protocole Secure Sockets Layer (SSL) version 3.0 de + Netscape Corporation. C'est le successeur de SSLv2 et le + prédécesseur de TLSv1, mais est considéré comme + obsolète dans la RFC + 7568

  • + +
  • TLSv1 +

    + Il s'agit du protocole Transport Layer Security (TLS) version 1.0. + C'est le successeur de SSLv3, et il est défini dans la RFC2246.

  • + +
  • TLSv1.1 (à partir de la version 1.0.1 d'OpenSSL) +

    + Une révision du protocole TLS 1.0 définie dans la RFC 4346. Il est + supporté par la plupart des clients.

  • + +
  • TLSv1.2 (à partir de la version 1.0.1 d'OpenSSL) +

    + Une révision du protocole TLS 1.1 définie dans la RFC 5246.

  • + +
  • all +

    + C'est un raccourci pour ``+SSLv3 +TLSv1'' ou - à partir + de la version 1.0.1 d'OpenSSL - ``+SSLv3 +TLSv1 +TLSv1.1 + +TLSv1.2'' (sauf si OpenSSL a été compilé avec l'option + ``no-ssl3'', auquel cas all n'inclura pas + +SSLv3).

  • +
+

Exemple

SSLProtocol TLSv1
+
+ +
+
top
+

Directive SSLProxyCACertificateFile

+ + + + + + + +
Description:Fichier contenant la concaténation des certificats de CA +codés en PEM pour l'authentification des serveurs distants
Syntaxe:SSLProxyCACertificateFile file-path
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le fichier tout-en-un où sont +stockés les certificats des Autorités de Certification (CA) pour les +serveurs distants auxquels vous avez à faire. On les utilise +lors de l'authentification du serveur distant. Un tel fichier contient +la simple concaténation des différents fichiers de certificats codés en +PEM, classés par ordre de préférence. On peut utiliser cette directive à +la place et/ou en complément de la directive SSLProxyCACertificatePath.

+

Exemple

SSLProxyCACertificateFile
+/usr/local/apache2/conf/ssl.crt/ca-bundle-serveur.distant.crt
+
+ +
+
top
+

Directive SSLProxyCACertificatePath

+ + + + + + + +
Description:Répertoire des certificats de CA codés en PEM pour +l'authentification des serveurs distants
Syntaxe:SSLProxyCACertificatePath chemin-répertoire
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de spécifier le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les serveurs +distants auxquels vous avez à faire. On les utilise pour vérifier le +certificat du serveur distant lors de l'authentification de ce +dernier.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+

Exemple

SSLProxyCACertificatePath /usr/local/apache2/conf/ssl.crt/
+
+ +
+
top
+

Directive SSLProxyCARevocationCheck

+ + + + + + + + +
Description:Active la vérification des révocations basée sur les CRLs +pour l'authentification du serveur distant
Syntaxe:SSLProxyCARevocationCheck chain|leaf|none
Défaut:SSLProxyCARevocationCheck none
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+

+Active la vérification des révocations basée sur les Listes de +révocations de Certificats (CRL) pour les serveurs distants +auxquels vous vous connectez. A moins une des directives SSLProxyCARevocationFile ou SSLProxyCARevocationPath doit être définie. +Lorsque cette directive est définie à chain (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur leaf limite +la vérification au certificat hors chaîne (la feuille). +

+
+

Lorsque la directive est définie à chain ou +leaf, les CRLs doivent être disponibles pour que la +validation réussisse

+

+Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL n'était trouvée dans les chemins +définis par les directives SSLProxyCARevocationFile ou SSLProxyCARevocationPath. Le comportement a +changé avec l'introduction de cette directive : lorsque la vérification +est activée, les CRLs doivent être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur "CRL introuvable". +

+
+

Exmple

SSLProxyCARevocationCheck chain
+
+ +
+
top
+

Directive SSLProxyCARevocationFile

+ + + + + + + +
Description:Fichier contenant la concaténation des CRLs de CA codés en +PEM pour l'authentification des serveurs distants
Syntaxe:SSLProxyCARevocationFile chemin-fichier
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le fichier tout-en-un où sont +rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités +de certification (CAs) pour les serveurs distants auxquels vous +avez à faire. On les utilise pour l'authentification des serveurs +distants. Un tel fichier contient la simple concaténation des différents +fichiers de CRLs codés en PEM, classés par ordre de préférence. Cette +directive peut être utilisée à la place et/ou en complément de la +directive SSLProxyCARevocationPath.

+

Exemple

SSLProxyCARevocationFile
+/usr/local/apache2/conf/ssl.crl/ca-bundle-serveur.distant.crl
+
+ +
+
top
+

Directive SSLProxyCARevocationPath

+ + + + + + + +
Description:Répertoire des CRLs de CA codés en PEM pour +l'authentification des serveurs distants
Syntaxe:SSLProxyCARevocationPath chemin-répertoire
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les serveurs distants auxquels vous avez à faire. On les +utilise pour révoquer les certificats des serveurs distants au cours de +l'authentification de ces derniers.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.rN, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+

Exemple

SSLProxyCARevocationPath /usr/local/apache2/conf/ssl.crl/
+
+ +
+
top
+

Directive SSLProxyCheckPeerCN

+ + + + + + + + +
Description:Configuration de la vérification du champ CN du certificat +du serveur distant +
Syntaxe:SSLProxyCheckPeerCN on|off
Défaut:SSLProxyCheckPeerCN on
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir si le champ CN du certificat +du serveur distant doit être comparé au nom de serveur de l'URL de la +requête. S'ils ne correspondent pas, un +code d'état 502 (Bad Gateway) est envoyé. A partir de la version 2.4.5, la +directive SSLProxyCheckPeerName +l'emporte sur la directive SSLProxyCheckPeerCN. +

+

+De la version 2.4.5 à la version 2.4.20, spécifier SSLProxyCheckPeerName +off était suffisant pour activer cette fonctionnalité (étant donné que la +valeur par défaut de la directive SSLProxyCheckPeerCN était +on). Avec ces mêmes versions, les deux directives devaient être +définies à off pour éviter la validation du nom de certificat du +serveur distant. De nombreux utilisateurs ont signalé ce comportement comme +étant source de confusion. +

+

+A partir de la version 2.4.21, toute configuration qui active une des +deux options SSLProxyCheckPeerName ou +SSLProxyCheckPeerCN adopte le nouveau comportement de la +directive SSLProxyCheckPeerName, alors +que toute configuration qui désactive une des options +SSLProxyCheckPeerName ou SSLProxyCheckPeerCN supprime +toute validation du nom de certificat du serveur distant. Seule la configuration +suivante peut rétablir le comportement traditionnel en matière de comparaison +des CN de certificats dans les versions 2.4.21 et ultérieures. +

+

Exemple

SSLProxyCheckPeerCN on
+SSLProxyCheckPeerName off
+
+ +
+
top
+

Directive SSLProxyCheckPeerExpire

+ + + + + + + + +
Description:Configuration de la vérification de l'expiration du +certificat du serveur distant +
Syntaxe:SSLProxyCheckPeerExpire on|off
Défaut:SSLProxyCheckPeerExpire on
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir si l'expiration du certificat du +serveur distant doit être vérifiée ou non. Si la vérification échoue, un +code d'état 502 (Bad Gateway) est envoyé. +

+

Exemple

SSLProxyCheckPeerExpire on
+
+ +
+
top
+

Directive SSLProxyCheckPeerName

+ + + + + + + + + +
Description:Configure la vérification du nom d'hôte pour les +certificats serveur distant +
Syntaxe:SSLProxyCheckPeerName on|off
Défaut:SSLProxyCheckPeerName on
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible à partir de la version 2.4.5 du serveur HTTP +Apache
+

+Cette directive permet de configurer la vérification du nom d'hôte pour +les certificats serveur lorsque mod_ssl agit en tant que client SSL. La +vérification réussit si le nom d'hôte de l'URI de la requête correspond à un +des attributs CN du sujet du certificat, ou à l'extension subjectAltName. Si la +vérification échoue, la requête SSL +avorte, et un code d'erreur 502 (Bad Gateway) est renvoyé. +

+

+Les caractères génériques sont supportés dans certains cas bien spécifiques : +une entrée subjectAltName de type dNSName ou les attributs CN +commençant par *. correspondront à tout nom d'hôte comportant +le même nombre de champs et le même suffixe ; par exemple, +*.example.org correspondra à foo.example.org, +mais pas à foo.bar.example.org car le nombre d'éléments dans les +nom est différent. +

+

+Cette fonctionnalité a été introduite avec la version 2.4.5 et l'emporte sur la +directive SSLProxyCheckPeerCN qui ne +comparait que la valeur exacte du premier attribut CN avec le nom d'hôte. +Cependant, de nombreux utilisateurs étaient déconcertés par le comportement +induit par l'utilisation de ces deux directives individuellement, si bien que ce +comportement a été amélioré avec la version 2.4.21. Voir la description de la +directive SSLProxyCheckPeerCN pour le +comportement original et des détails à propos de ces améliorations. +

+ +
+
top
+

Directive SSLProxyCipherSuite

+ + + + + + + + +
Description:Algorithmes de chiffrement disponibles pour la négociation +lors de l'initialisation d'une connexion SSL de mandataire
Syntaxe:SSLProxyCipherSuite algorithmes
Défaut:SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+

Cette directive est équivalente à la directive SSLCipherSuite, mais s'applique à une connexion de +mandataire. Veuillez vous reporter à la directive SSLCipherSuite pour plus d'informations.

+ +
+
top
+

Directive SSLProxyEngine

+ + + + + + + + +
Description:Interrupteur marche/arrêt du moteur de mandataire +SSL
Syntaxe:SSLProxyEngine on|off
Défaut:SSLProxyEngine off
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+

+Cette directive permet d'activer/désactiver l'utilisation du moteur de +protocole SSL/TLS pour le mandataire. On l'utilise en général à +l'intérieur d'une section <VirtualHost> pour activer le protocole SSL/TLS +dans le cadre d'un mandataire pour un serveur virtuel particulier. Par +défaut, le moteur de protocole SSL/TLS est désactivé pour la fonction de +mandataire du serveur principal et de tous les serveurs virtuels +configurés.

+ +

Notez que la directive SSLProxyEngine ne doit +généralement pas être utilisée dans le cadre d'un serveur virtuel qui agit en +tant que mandataire direct (via les directives <Proxy> ou ProxyRequests). +SSLProxyEngine n'est pas nécessaire pour activer un +serveur mandataire direct pour les requêtes SSL/TLS.

+ +

Exemple

<VirtualHost _default_:443>
+    SSLProxyEngine on
+    #...
+</VirtualHost>
+
+ +
+
top
+

Directive SSLProxyMachineCertificateChainFile

+ + + + + + + +
Description:Fichier de certificats de CA encodés PEM concaténés permettant au +mandataire de choisir un certificat
Syntaxe:SSLProxyMachineCertificateChainFile nom-fichier
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Sans objet
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le fichier global où est enregistrée +la chaîne de certification pour tous les certificats clients utilisés. +Elle est nécessaire si le serveur distant présente une liste de +certificats de CA qui ne sont pas les signataires directs d'un des +certificats clients configurés. +

+

+Ce fichier contient tout simplement la concaténation des différents +fichiers de certificats encodés PEM. Au démarrage, chaque certificat +client configuré est examiné et une chaîne de certification est +construite. +

+

Avertissement en matière de sécurité

+

Si cette directive est définie, tous les certificats contenus dans le +fichier spécifié seront considérés comme étant de confiance, comme s'ils +étaient aussi désignés dans la directive SSLProxyCACertificateFile.

+
+

Exemple

SSLProxyMachineCertificateChainFile /usr/local/apache2/conf/ssl.crt/proxyCA.pem
+
+ +
+
top
+

Directive SSLProxyMachineCertificateFile

+ + + + + + + +
Description:Fichier contenant la concaténation des clés et certificats +clients codés en PEM que le mandataire doit utiliser
Syntaxe:SSLProxyMachineCertificateFile chemin-fichier
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Sans objet
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le fichier tout-en-un où sont stockés +les clés et certificats permettant au serveur mandataire de +s'authentifier auprès des serveurs distants. +

+

+Le fichier spécifié est la simple concaténation des différents fichiers +de certificats codés en PEM, classés par ordre de préférence. Cette +directive s'utilise à la place ou en complément de la directive +SSLProxyMachineCertificatePath. +

+
+

Actuellement, les clés privées chiffrées ne sont pas supportées.

+
+

Exemple

SSLProxyMachineCertificateFile /usr/local/apache2/conf/ssl.crt/proxy.pem
+
+ +
+
top
+

Directive SSLProxyMachineCertificatePath

+ + + + + + + +
Description:Répertoire des clés et certificats clients codés en PEM que +le mandataire doit utiliser
Syntaxe:SSLProxyMachineCertificatePath chemin-répertoire
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Sans objet
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le répertoire où sont stockés les clés +et certificats permettant au serveur mandataire de s'authentifier auprès +des serveurs distants. +

+

Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Vous +devez donc aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+
+

Actuellement, les clés privées chiffrées ne sont pas supportées.

+
+

Exemple

SSLProxyMachineCertificatePath /usr/local/apache2/conf/proxy.crt/
+
+ +
+
top
+

Directive SSLProxyProtocol

+ + + + + + + + +
Description:Définit les protocoles SSL disponibles pour la fonction de +mandataire
Syntaxe:SSLProxyProtocol [+|-]protocole ...
Défaut:SSLProxyProtocol all -SSLv3
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+ +

+Cette directive permet de définir les protocoles SSL que mod_ssl peut +utiliser lors de l'élaboration de son environnement de serveur pour la +fonction de mandataire. Il ne se connectera qu'aux serveurs utilisant un +des protocoles spécifiés.

+

Veuillez vous reporter à la directive SSLProtocol pour plus d'informations. +

+ +
+
top
+

Directive SSLProxyVerify

+ + + + + + + + +
Description:Niveau de vérification du certificat du serveur +distant
Syntaxe:SSLProxyVerify niveau
Défaut:SSLProxyVerify none
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+ +

Lorsqu'un mandataire est configuré pour faire suivre les requêtes +vers un serveur SSL distant, cette directive permet de configurer la +vérification du certificat de ce serveur distant.

+ +

+Les valeurs de niveaux disponibles sont les suivantes :

+
    +
  • none: + aucun certificat n'est requis pour le serveur distant
  • +
  • optional: + le serveur distant peut présenter un certificat valide
  • +
  • require: + le serveur distant doit présenter un certificat valide
  • +
  • optional_no_ca: + le serveur distant peut présenter un certificat valide
    + mais il n'est pas nécessaire qu'il soit vérifiable (avec succès).
  • +
+

En pratique, seuls les niveaux none et +require sont vraiment intéressants, car le niveau +optional ne fonctionne pas avec tous les serveurs, et +le niveau optional_no_ca va tout à fait à l'encontre de +l'idée que l'on peut se faire de l'authentification (mais peut tout de +même être utilisé pour établir des pages de test SSL, etc...) + +In practice only levels none and +require are really interesting, because level +optional doesn't work with all servers and level +optional_no_ca is actually against the idea of +authentication (but can be used to establish SSL test pages, etc.)

+

Exemple

SSLProxyVerify require
+
+ +
+
top
+

Directive SSLProxyVerifyDepth

+ + + + + + + + +
Description:Niveau de profondeur maximum dans les certificats de CA +lors de la vérification du certificat du serveur distant
Syntaxe:SSLProxyVerifyDepth niveau
Défaut:SSLProxyVerifyDepth 1
Contexte:configuration du serveur, serveur virtuel,
AllowOverride:Not applicable
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le niveau de profondeur maximum +jusqu'auquel mod_ssl doit aller au cours de sa vérification avant de +décider que le serveur distant ne possède pas de certificat valide.

+

+La profondeur correspond en fait au nombre maximum de fournisseurs de +certificats intermédiaires, c'est à dire le nombre maximum de +certificats +de CA que l'on peut consulter lors de la vérification du certificat du +serveur distant. Une profondeur de 0 signifie que seuls les certificats +de serveurs distants auto-signés sont acceptés, et la profondeur par +défaut de 1 que le certificat du serveur distant peut être soit +auto-signé, soit signé par une CA connue directement du serveur (en +d'autres termes, le certificat de CA est référencé par la directive +SSLProxyCACertificatePath), +etc...

+

Exemple

SSLProxyVerifyDepth 10
+
+ +
+
top
+

Directive SSLRandomSeed

+ + + + + + +
Description:Source de déclenchement du Générateur de Nombres +Pseudo-Aléatoires (PRNG)
Syntaxe:SSLRandomSeed contexte source +[nombre]
Contexte:configuration du serveur
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir une ou plusieurs sources de +déclenchement du Générateur de Nombres Pseudo-Aléatoires (PRNG) dans +OpenSSL au démarrage du serveur (si contexte a pour valeur +startup) et/ou juste avant l'établissement d'une nouvelle +connexion SSL (si contexte a pour valeur connect). +Cette directive ne peut être utilisée qu'au niveau du serveur global car +le PRNG est un service global.

+

+Les différentes valeurs de source disponibles sont :

+
    +
  • builtin +

    Cette source de déclenchement intégrée est toujours disponible. + Son utilisation consomme un minimum de cycles CPU en cours + d'exécution, et son utilisation ne présente de ce fait aucun + problème. La source utilisée pour déclencher le PRNG contient la + date courante, l'identifiant du processus courant et (si disponible) + un extrait de 1Ko aléatoirement choisi de la structure d'Apache pour + les échanges inter-processus. Ceci présente un inconvénient car le + caractère aléatoire de cette source n'est pas vraiment fort, et au + démarrage (lorsque la structure d'échanges n'est pas encore + disponible), cette source ne produit que quelques octets d'entropie. + Vous devez donc toujours utiliser une source de déclenchement + additionnelle, au moins pour le démarrage.

  • +
  • file:/chemin/vers/source +

    + Cette variante utilise un fichier externe + file:/chemin/vers/source comme source de déclenchement + du PRNG. Lorsque nombre est spécifié, seuls les + nombre premiers octets du fichier forment l'entropie (et + nombre est fourni comme premier argument à + /chemin/vers/source). Lorsque nombre n'est pas + spécifié, l'ensemble du fichier forme l'entropie (et 0 + est fourni comme premier argument à + /chemin/vers/source). Utilisez cette source en + particulier au démarrage, par exemple avec un fichier de + périphérique /dev/random et/ou + /dev/urandom (qui sont en général présent sur les + plate-formes dérivées d'Unix modernes comme FreeBSD et Linux).

    +

    Soyez cependant prudent : en général, + /dev/random ne fournit que l'entropie dont il dispose + réellement ; en d'autres termes, lorsque vous demandez 512 octets + d'entropie, si le périphérique ne dispose que de 100 octets, deux + choses peuvent se produire : sur certaines plates-formes, vous ne + recevez que les 100 octets, alors que sur d'autres, la lecture se + bloque jusqu'à ce qu'un nombre suffisant d'octets soit disponible + (ce qui peut prendre beaucoup de temps). Il est préférable ici + d'utiliser le périphérique /dev/urandom, car il ne se + bloque jamais et fournit vraiment la quantité de données demandées. + Comme inconvénient, les données reçues ne sont pas forcément de la + meilleure qualité.

  • + +
  • exec:/chemin/vers/programme +

    + Cette variante utilise un exécutable externe + /chemin/vers/programme comme source de déclenchement du + PRNG. Lorsque nombre est spécifié, seules les + nombre premiers octets de son flux stdout + forment l'entropie. Lorsque nombre n'est pas spécifié, + l'intégralité des données produites sur stdout forment + l'entropie. N'utilisez cette variante qu'au démarrage où une source + de déclenchement fortement aléatoire est nécessaire, en utilisant + un programme externe (comme dans l'exemple + ci-dessous avec l'utilitaire truerand basé sur la + bibliothèque truerand de AT&T que vous trouverez + dans la distribution de mod_ssl). Bien entendu, l'utilisation de + cette variante dans un contexte "connection" ralentit le serveur de + manière trop importante, et en général, vous devez donc éviter + d'utiliser des programmes externes dans ce contexte.

  • +
  • egd:/chemin/vers/socket-egd (Unix seulement) +

    Cette variante utilise le socket de domaine Unix du Démon + Générateur d'Entropie externe ou Entropy Gathering Daemon ou EGD + (voir http://www.lothar.com/tech + /crypto/) pour déclencher le PRNG. N'utilisez cette variante que + si votre plate-forme ne possède pas de périphérique random ou + urandom.

  • +
+

Exemple

SSLRandomSeed startup builtin
+SSLRandomSeed startup file:/dev/random
+SSLRandomSeed startup file:/dev/urandom 1024
+SSLRandomSeed startup exec:/usr/local/bin/truerand 16
+SSLRandomSeed connect builtin
+SSLRandomSeed connect file:/dev/random
+SSLRandomSeed connect file:/dev/urandom 1024
+
+ +
+
top
+

Directive SSLRenegBufferSize

+ + + + + + + + +
Description:Définit la taille du tampon de renégociation +SSL
Syntaxe:SSLRenegBufferSize taille
Défaut:SSLRenegBufferSize 131072
Contexte:répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_ssl
+ +

Si une renégociation SSL est requise dans un contexte de répertoire, +par exemple avec l'utilisation de SSLVerifyClient dans un bloc Directory ou +Location, mod_ssl doit mettre en tampon en mémoire tout corps de requête +HTTP en attendant qu'une nouvelle initialisation de connexion SSL puisse +être effectuée. Cette directive permet de définir la quantité de mémoire +à allouer pour ce tampon.

+ +

+Notez que dans de nombreuses configurations, le client qui envoie un +corps de requête n'est pas forcément digne de confiance, et l'on doit +par conséquent prendre en considération la possibilité d'une attaque de +type déni de service lorsqu'on modifie la valeur de cette directive. +

+ +

Exemple

SSLRenegBufferSize 262144
+
+ +
+
top
+

Directive SSLRequire

+ + + + + + + +
Description:N'autorise l'accès que lorsqu'une expression booléenne +complexe et arbitraire est vraie
Syntaxe:SSLRequire expression
Contexte:répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_ssl
+

SSLRequire is obsolète

+

SSLRequire est obsolète et doit en général être +remplacée par l'expression Require. La syntaxe ap_expr de l'expression Require est +une extension de la syntaxe de SSLRequire, avec les +différences suivantes :

+ +

Avec SSLRequire, les opérateurs de comparaison +<, <=, ... sont strictement équivalents +aux opérateurs lt, le, ... , et fonctionnent +selon une méthode qui compare tout d'abord la longueur des deux chaînes, +puis l'ordre alphabétique. Les expressions ap_expr, quant à elles, possèdent deux jeux +d'opérateurs de comparaison : les opérateurs <, +<=, ... effectuent une comparaison alphabétique de +chaînes, alors que les opérateurs -lt, -le, +... effectuent une comparaison d'entiers. Ces derniers possèdent aussi +des alias sans tiret initial : lt, le, ... +

+ +
+ +

Cette directive permet de spécifier une condition générale d'accès +qui doit être entièrement satisfaite pour que l'accès soit autorisé. +C'est une directive très puissante, car la condition d'accès spécifiée +est une expression booléenne complexe et arbitraire contenant un nombre +quelconque de vérifications quant aux autorisations d'accès.

+

+L'expression doit respecter la syntaxe suivante (fournie ici +sous la forme d'une notation dans le style de la grammaire BNF) :

+
+
expr     ::= "true" | "false"
+           | "!" expr
+           | expr "&&" expr
+           | expr "||" expr
+           | "(" expr ")"
+           | comp
+
+comp     ::= word "==" word | word "eq" word
+           | word "!=" word | word "ne" word
+           | word "<"  word | word "lt" word
+           | word "<=" word | word "le" word
+           | word ">"  word | word "gt" word
+           | word ">=" word | word "ge" word
+           | word "in" "{" wordlist "}"
+           | word "in" "PeerExtList(" word ")"
+           | word "=~" regex
+           | word "!~" regex
+
+wordlist ::= word
+           | wordlist "," word
+
+word     ::= digit
+           | cstring
+           | variable
+           | function
+
+digit    ::= [0-9]+
+cstring  ::= "..."
+variable ::= "%{" varname "}"
+function ::= funcname "(" funcargs ")"
+
+

Pour varname, toute variable décrite dans Variables d'environnement pourra être utilisée. +Pour funcname, vous trouverez la liste des fonctions +disponibles dans la documentation +ap_expr.

+ +

expression est interprétée et traduite +sous une forme machine interne lors du chargement de la configuration, +puis évaluée lors du traitement de la requête. Dans le contexte des +fichiers .htaccess, expression est interprétée et exécutée +chaque fois que le fichier .htaccess intervient lors du traitement de la +requête.

+

Exemple

SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)-/                   \
+            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd."          \
+            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"}    \
+            and %{TIME_WDAY} -ge 1 and %{TIME_WDAY} -le 5          \
+            and %{TIME_HOUR} -ge 8 and %{TIME_HOUR} -le 20       ) \
+           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
+
+ + +

La fonction PeerExtList(identifiant objet) +recherche une instance d'extension de certificat X.509 identifiée par +identifiant objet (OID) dans le certificat client. L'expression est +évaluée à true si la partie gauche de la chaîne correspond exactement à +la valeur d'une extension identifiée par cet OID (Si plusieurs +extensions possèdent le même OID, l'une d'entre elles au moins doit +correspondre). +

+ +

Exemple

SSLRequire "foobar" in PeerExtList("1.2.3.4.5.6")
+
+ +

Notes à propos de la fonction PeerExtList

+ +
    + +
  • L'identifiant objet peut être spécifié soit comme un nom +descriptif reconnu par la bibliothèque SSL, tel que +"nsComment", soit comme un OID numérique tel que +"1.2.3.4.5.6".

  • + +
  • Les expressions contenant des types connus de la bibliothèque +SSL sont transformées en chaînes avant comparaison. Pour les extensions +contenant un type non connu de la bibliothèque SSL, mod_ssl va essayer +d'interpréter la valeur s'il s'agit d'un des types ASN.1 primaire UTF8String, +IA5String, VisibleString, ou BMPString. Si l'extension correspond à un +de ces types, la chaîne sera convertie en UTF-8 si nécessaire, puis +comparée avec la partie gauche de l'expression.

  • + +
+
+ + +

Voir aussi

+ +
+
top
+

Directive SSLRequireSSL

+ + + + + + + +
Description:Interdit l'accès lorsque la requête HTTP n'utilise pas +SSL
Syntaxe:SSLRequireSSL
Contexte:répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_ssl
+

+Cette directive interdit l'accès si HTTP sur SSL (c'est à dire HTTPS) +n'est pas activé pour la connexion courante. Ceci est très pratique dans +un serveur virtuel où SSL est activé ou dans un répertoire pour se +protéger des erreurs de configuration qui pourraient donner accès à des +ressources protégées. Lorsque cette directive est présente, toutes les +requêtes qui n'utilisent pas SSL sont rejetées.

+

Exemple

SSLRequireSSL
+
+ +
+
top
+

Directive SSLSessionCache

+ + + + + + + +
Description:Type du cache de session SSL global et +inter-processus
Syntaxe:SSLSessionCache type
Défaut:SSLSessionCache none
Contexte:configuration du serveur
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de configurer le type de stockage du cache de +session SSL global et inter-processus. Ce cache est une fonctionnalité +optionnelle qui accélère le traitement parallèle des requêtes. Pour ce +qui est des requêtes vers un même processus du serveur (via HTTP +keep-alive), OpenSSL met en cache les informations de session SSL en +interne. Mais comme les clients modernes demandent des images en ligne +et d'autres données via des requêtes parallèles (un nombre de quatre +requêtes parallèles est courant), ces requêtes vont être servies par +plusieurs processus du serveur pré-déclenchés. Ici, un cache +inter-processus permet d'éviter des négociations de session +inutiles.

+

+Les quatre types de stockage suivants sont actuellement +supportés :

+
    +
  • none + +

    Cette valeur désactive le cache de session global et + inter-processus, ce qui va ralentir le serveur de manière sensible + et peut poser problème avec certains navigateurs, en particulier si + les certificats clients sont activés. Cette configuration n'est pas + recommandée.

  • + +
  • nonenotnull + +

    Cette valeur désactive tout cache de session global et + inter-processus. Cependant, elle force OpenSSL à envoyer un + identifiant de session non nul afin de s'adapter aux clients bogués + qui en nécessitent un.

  • + +
  • dbm:/chemin/vers/fichier-données + +

    Cette valeur utilise un fichier de hashage DBM sur disque local + pour synchroniser les caches OpenSSL locaux en mémoire des processus + du serveur. Ce cache de session peut être sujet à des problèmes de + fiabilité sous forte charge. Pour l'utiliser, le module + mod_socache_dbm doit être chargé.

  • + +
  • shmcb:/chemin/vers/fichier-données[(nombre)] + +

    Cette valeur utilise un tampon cyclique à hautes performances + (d'une taille d'environ nombre octets) dans un segment de + mémoire partagée en RAM (établi via + /chemin/vers/fichier-données, pour synchroniser les + caches OpenSSL locaux en mémoire des processus du serveur. C'est le + type de cache de session recommandé. Pour l'utiliser, le module + mod_socache_shmcb doit être chargé.

  • + +
  • dc:UNIX:/chemin/vers/socket + +

    Cette valeur utilise les bibliothèques de mise en cache de + sessions distribuée sur distcache. + L'argument doit spécifier le serveur ou mandataire à utiliser en + utilisant la syntaxe d'adressage distcache ; par exemple, + UNIX:/chemin/vers/socket spécifie un socket de domaine + Unix (en général un mandataire de dc_client local) ; + IP:serveur.example.com:9001 spécifie une adresse IP. + Pour l'utiliser, le module mod_socache_dc doit être + chargé.

  • + +
+ +

Exemples

SSLSessionCache dbm:/usr/local/apache/logs/ssl_gcache_data
+SSLSessionCache shmcb:/usr/local/apache/logs/ssl_gcache_data(512000)
+
+ +

Le mutex ssl-cache permet de sérialiser l'accès au cache +de session afin d'éviter toute corruption. Ce mutex peut être configuré +via la directive Mutex.

+ +
+
top
+

Directive SSLSessionCacheTimeout

+ + + + + + + + +
Description:Nombre de secondes avant l'expiration d'une session SSL +dans le cache de sessions
Syntaxe:SSLSessionCacheTimeout secondes
Défaut:SSLSessionCacheTimeout 300
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:S'applique aussi au renouvellement de la session TLS de +la RFC 5077 à partir de la version 2.4.10 du serveur HTTP Apache
+

+Cette directive permet de définir la durée de vie en secondes des +informations stockées dans le cache de sessions SSL global et +inter-processus, dans le cache OpenSSL interne en mémoire et pour +les sessions réinitialisées par la reprise de session TLS (RFC 5077). elle peut +être définie à une valeur d'environ 15 à des fins de test, mais à une +valeur très supérieure comme 300 en production.

+

Exemple

SSLSessionCacheTimeout 600
+
+ +
+
top
+

Directive SSLSessionTicketKeyFile

+ + + + + + + +
Description:Clé de chiffrement/déchiffrement permanente pour les +tickets de session TLS
Syntaxe:SSLSessionTicketKeyFile chemin-fichier
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible depuis la version 2.4.0 du serveur HTTP +Apache, sous réserve que l'on utilise une version 0.9.8h ou supérieure +d'OpenSSL
+

Cette directive permet de définir une clé secrète pour le chiffrement +et le déchiffrement des tickets de session TLS selon les préconisations +de la RFC 5077. Elle a +été conçue à l'origine pour les environnements de clusters où les +données des sessions TLS doivent être partagées entre plusieurs noeuds. +Pour les configurations ne comportant qu'une seule instance de httpd, il +est préférable d'utiliser les clés (aléatoires) générées par mod_ssl au +démarrage du serveur.

+

Le fichier doit contenir 48 octets de données aléatoires créées de +préférence par une source à haute entropie. Sur un système de type UNIX, +il est possible de créer le fichier contenant la clé de la manière +suivante :

+ +

+dd if=/dev/random of=/chemin/vers/fichier.tkey bs=1 count=48 +

+ +

Ces clés doivent être renouvelées fréquemment, car il s'agit du seul +moyen d'invalider un ticket de session existant - OpenSSL ne permet pas +actuellement de spécifier une limite à la durée de +vie des tickets. Une nouvelle clé de ticket ne peut être utilisée qu'après +redémarrage du serveur web. Tous les tickets de session existants +deviennent invalides après le redémarrage du serveur.

+ +
+

Ce fichier contient des données sensibles et doit donc être protégé +par des permissions similaires à celles du fichier spécifié par la +directive SSLCertificateKeyFile.

+
+ +
+
top
+

Directive SSLSessionTickets

+ + + + + + + + +
Description:Active ou désactive les tickets de session TLS
Syntaxe:SSLSessionTickets on|off
Défaut:SSLSessionTickets on
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible à partir de la version 2.4.11 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 0.9.8f ou supérieure. +
+

Cette directive permet d'activer ou de désactiver l'utilisation des +tickets de session TLS (RFC 5077).

+
+

Les tickets de session TLS sont activés par défaut. Les utiliser sans +redémarrer le serveur selon une périodicité appropriée (par exemple +quotidiennement) compromet cependant le niveau de confidentialité.

+
+ +
+
top
+

Directive SSLSRPUnknownUserSeed

+ + + + + + + +
Description:Source de randomisation pour utilisateur SRP inconnu
Syntaxe:SSLSRPUnknownUserSeed secret-string
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible depuis la version 2.4.4 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure.
+

+Cette directive permet de définir la source de randomisation à utiliser +pour les utilisateurs SRP inconnus, ceci afin de combler les manques en +cas d'existence d'un tel utilisateur. Elle définit une chaîne secrète. Si +cette directive n'est pas définie, Apache renverra une alerte +UNKNOWN_PSK_IDENTITY aux clients qui fournissent un nom d'utilisateur +inconnu. +

+

Exemple

+SSLSRPUnknownUserSeed "secret" +

+ +
+
top
+

Directive SSLSRPVerifierFile

+ + + + + + + +
Description:Chemin du fichier de vérification SRP
Syntaxe:SSLSRPVerifierFile file-path
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible depuis la version 2.4.4 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure.
+

+Cette directive permet d'activer TLS-SRP et de définir le chemin du +fichier de vérification OpenSSL SRP (Mot de passe distant sécurisé) +contenant les noms d'utilisateurs TLS-SRP, les vérificateurs, les +"grains de sel" (salts), ainsi que les paramètres de groupe.

+

Exemple

+SSLSRPVerifierFile "/path/to/file.srpv" +

+

+Le fichier de vérification peut être créé via l'utilitaire en ligne de +commande openssl :

+

Création du fichier de vérification SRP

+openssl srp -srpvfile passwd.srpv -userinfo "some info" -add username +

+

La valeur affectée au paramètre optionnel -userinfo est +enregistrée dans la variable d'environnement +SSL_SRP_USERINFO.

+ + +
+
top
+

Directive SSLStaplingCache

+ + + + + + + +
Description:Configuration du cache pour l'agrafage OCSP
Syntaxe:SSLStaplingCache type
Contexte:configuration du serveur
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Si SSLUseStapling est à "on", +cette directive permet de configurer le cache destiné à stocker les +réponses OCSP incluses dans la négociation TLS. La configuration d'un +cache est obligatoire pour pouvoir utiliser l'agrafage OCSP. A +l'exception de none et nonenotnull, cette +directive supporte les mêmes types de stockage que la directive +SSLSessionCache.

+ + +
+
top
+

Directive SSLStaplingErrorCacheTimeout

+ + + + + + + + +
Description:Durée de vie des réponses invalides dans le cache pour +agrafage OCSP
Syntaxe:SSLStaplingErrorCacheTimeout secondes
Défaut:SSLStaplingErrorCacheTimeout 600
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de définir la durée de vie des réponses +invalides dans le cache pour agrafage OCSP configuré via la +directive SSLStaplingCache. Pour +définir la durée de vie des réponses valides, voir la directive +SSLStaplingStandardCacheTimeout.

+ +
+
top
+

Directive SSLStaplingFakeTryLater

+ + + + + + + + +
Description:Génère une réponse "tryLater" pour les requêtes OCSP échouées
Syntaxe:SSLStaplingFakeTryLater on|off
Défaut:SSLStaplingFakeTryLater on
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Lorsque cette directive est activée, et si une requête vers un +serveur OCSP à des fins d'inclusion dans une négociation TLS échoue, +mod_ssl va générer une réponse "tryLater" pour le client (SSLStaplingReturnResponderErrors doit être +activée).

+ +
+
top
+

Directive SSLStaplingForceURL

+ + + + + + + +
Description:Remplace l'URI du serveur OCSP spécifié dans l'extension +AIA du certificat
Syntaxe:SSLStaplingForceURL uri
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de remplacer l'URI du serveur OCSP extraite de +l'extension authorityInfoAccess (AIA) du certificat. Elle peut s'avérer +utile lorsqu'on passe par un mandataire

+ +
+
top
+

Directive SSLStaplingResponderTimeout

+ + + + + + + + +
Description:Temps d'attente maximum pour les requêtes vers les serveurs +OCSP
Syntaxe:SSLStaplingResponderTimeout secondes
Défaut:SSLStaplingResponderTimeout 10
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de définir le temps d'attente maximum lorsque +mod_ssl envoie une requête vers un serveur OCSP afin d'obtenir une +réponse destinée à être incluse dans les négociations TLS avec les +clients (SSLUseStapling doit +avoir été activée au préalable).

+ +
+
top
+

Directive SSLStaplingResponseMaxAge

+ + + + + + + + +
Description:Age maximum autorisé des réponses OCSP incluses dans la +négociation TLS
Syntaxe:SSLStaplingResponseMaxAge secondes
Défaut:SSLStaplingResponseMaxAge -1
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de définir l'âge maximum autorisé +("fraîcheur") des réponses OCSP incluses dans la négociation TLS +(SSLUseStapling doit +avoir été activée au préalable). La valeur par défaut (-1) +ne définit aucun âge maximum, ce qui signifie que les réponses OCSP sont +considérées comme valides à partir du moment où le contenu de leur champ +nextUpdate se trouve dans le futur.

+ +
+
top
+

Directive SSLStaplingResponseTimeSkew

+ + + + + + + + +
Description:Durée de vie maximale autorisée des réponses OCSP incluses dans la +négociation TLS
Syntaxe:SSLStaplingResponseTimeSkew secondes
Défaut:SSLStaplingResponseTimeSkew 300
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de spécifier l'intervalle de temps maximum que +mod_ssl va calculer en faisant la différence entre les contenus des +champs nextUpdate et thisUpdate des réponses +OCSP incluses dans la négociation TLS. Pour pouvoir utiliser cette +directive, SSLUseStapling doit +être à "on".

+ +
+
top
+

Directive SSLStaplingReturnResponderErrors

+ + + + + + + + +
Description:Transmet au client les erreurs survenues lors des requêtes +OCSP
Syntaxe:SSLStaplingReturnResponderErrors on|off
Défaut:SSLStaplingReturnResponderErrors on
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Lorsque cette directive est activée, mod_ssl va transmettre au client les +réponses concernant les requêtes OCSP +échouées (comme les réponses avec un état autre que +"successful", les réponses avec un statut de certificat autre que +"good", les réponses +périmées, etc...). Lorsqu'elle est à +off, seules les réponses indiquant un statut de certificat +"good" seront incluses dans les +négociations TLS avec les clients.

+ +
+
top
+

Directive SSLStaplingStandardCacheTimeout

+ + + + + + + + +
Description:Durée de vie des réponses OCSP dans le cache
Syntaxe:SSLStaplingStandardCacheTimeout secondes
Défaut:SSLStaplingStandardCacheTimeout 3600
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet de définir la durée de vie des réponses OCSP +dans le cache configuré via la directive SSLStaplingCache. Elle ne s'applique qu'aux +réponse valides, alors que la directive SSLStaplingErrorCacheTimeout s'applique aux +réponses invalides ou non disponibles. +

+ +
+
top
+

Directive SSLStrictSNIVHostCheck

+ + + + + + + +
Description:Contrôle de l'accès des clients non-SNI à un serveur virtuel à +base de nom. +
Syntaxe:SSLStrictSNIVHostCheck on|off
Défaut:SSLStrictSNIVHostCheck off
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de contrôler l'accès des clients non-SNI à un serveur +virtuel à base de nom. Si elle est définie à on dans le +serveur virtuel à base de nom par défaut, les +clients non-SNI ne seront autorisés à accéder à aucun serveur virtuel +appartenant à cette combinaison IP/port. Par +contre, si elle est définie à on dans un serveur virtuel +quelconque, les clients non-SNI ne se verront interdire l'accès qu'à ce +serveur. +

+ +

+Cette option n'est disponible que si httpd a été compilé avec une +version d'OpenSSL supportant SNI. +

+ +

Exemple

SSLStrictSNIVHostCheck on
+
+ +
+
top
+

Directive SSLUserName

+ + + + + + + +
Description:Nom de la variable servant à déterminer le nom de +l'utilisateur
Syntaxe:SSLUserName nom-var
Contexte:configuration du serveur, répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_ssl
+

+Cette variable permet de définir le champ "user" de l'objet de la +requête Apache. Ce champ est utilisé par des modules de plus bas niveau +pour identifier l'utilisateur avec une chaîne de caractères. En +particulier, l'utilisation de cette directive peut provoquer la +définition de la variable d'environnement REMOTE_USER. +La valeur de l'argument nom-var peut correspondre à toute variable d'environnement SSL.

+ +

Lorsque l'option FakeBasicAuth est activée, cette +directive contrôle la valeur du nom d'utilisateur contenue dans +l'en-tête d'authentification de base (voir SSLOptions).

+ +

Exemple

SSLUserName SSL_CLIENT_S_DN_CN
+
+ +
+
top
+

Directive SSLUseStapling

+ + + + + + + + +
Description:Active l'ajout des réponses OCSP à la négociation TLS
Syntaxe:SSLUseStapling on|off
Défaut:SSLUseStapling off
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_ssl
Compatibilité:Disponible si on utilise OpenSSL version 0.9.8h ou supérieure
+

Cette directive permet d'activer l'"Agrafage OCSP" (OCSP stapling) +selon la définition de l'extension TLS "Certificate Status Request" +fournie dans la RFC 6066. Si elle est activée et si le client le +demande, mod_ssl va inclure une réponse OCSP à propos de son propre +certificat dans la négociation TLS. Pour pouvoir activer l'Agrafage +OCSP, il est nécessaire de configurer un SSLStaplingCache.

+ +

L'agrafage OCSP dispense le client de requérir le serveur OCSP +directement ; il faut cependant noter que selon les spécifications de la +RFC 6066, la réponse CertificateStatus du serveur ne peut +inclure une réponse OCSP que pour un seul certificat. Pour les +certificats de serveur comportant des certificats de CA intermédiaires +dans leur chaîne (c'est un cas typique de nos jours), l'implémentation +actuelle de l'agrafage OCSP n'atteint que partiellement l'objectif d' +"économie en questions/réponse et en ressources". Pour plus de détails, +voir la RFC 6961 (TLS +Multiple Certificate Status Extension). +

+ +

Lorsque l'agrafage OCSP est activé, le mutex +ssl-stapling contrôle l'accès au cache de l'agrafage OCSP +afin de prévenir toute corruption, et le mutex +sss-stapling-refresh contrôle le raffraîchissement des +réponses OCSP. Ces mutex peuvent être configurés via la directive +Mutex. +

+ +
+
top
+

Directive SSLVerifyClient

+ + + + + + + + +
Description:Niveau de vérification du certificat client
Syntaxe:SSLVerifyClient niveau
Défaut:SSLVerifyClient none
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de définir le niveau de vérification du +certificat pour l'authentification du client. Notez que cette directive +peut être utilisée à la fois dans les contextes du serveur principal et +du répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec le +niveau de vérification du client spécifié, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.

+

+Les valeurs de niveau disponibles sont les suivantes :

+
    +
  • none: + aucun certificat client n'est requis
  • +
  • optional: + le client peut présenter un certificat valide
  • +
  • require: + le client doit présenter un certificat valide
  • +
  • optional_no_ca: + le client peut présenter un certificat valide, mais il n'est pas + nécessaire que ce dernier soit vérifiable (avec succès). Cette option ne + peut pas être utilisée lors de l'authentification du client.
  • +
+

Exemple

SSLVerifyClient require
+
+ +
+
top
+

Directive SSLVerifyDepth

+ + + + + + + + +
Description:Profondeur maximale des certificats de CA pour la +vérification des certificats clients
Syntaxe:SSLVerifyDepth nombre
Défaut:SSLVerifyDepth 1
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:AuthConfig
Statut:Extension
Module:mod_ssl
+

+Cette directive permet de spécifier la profondeur maximale à laquelle +mod_ssl va effectuer sa vérification avant de décider que le client ne +possède pas de certificat valide. Notez que cette directive peut être +utilisée à la fois dans les contextes du serveur principal et de +répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec la +profondeur vérification du client spécifiée, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.

+

+La profondeur correspond au nombre maximum de fournisseurs de +certificats intermédiaires, c'est à dire le nombre maximum de +certificats de CA que l'on est autorisé à suivre lors de la vérification +du certificat du client. Une profondeur de 0 signifie que seuls les +certificats clients auto-signés sont acceptés ; la profondeur par défaut +de 1 signifie que le certificat client peut être soit auto-signé, soit +signé par une CA connue directement du serveur (c'est à dire que le +certificat de la CA doit être référencé par la directive SSLCACertificatePath), etc...

+

Exemple

SSLVerifyDepth 10
+
+ +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_ssl.xml.fr b/docs/manual/mod/mod_ssl.xml.fr new file mode 100644 index 0000000000..db26ac9259 --- /dev/null +++ b/docs/manual/mod/mod_ssl.xml.fr @@ -0,0 +1,3161 @@ + + + + + + + + + + + +mod_ssl +Chiffrement de haut niveau basé sur les protocoles Secure +Sockets Layer (SSL) et Transport Layer Security (TLS) +Extension +mod_ssl.c +ssl_module + + +

Ce module fournit le support SSL v3 et TLS v1.x au serveur HTTP +Apache. SSL v2 n'est plus supporté.

+ +

Ce module s'appuie sur OpenSSL +pour fournir le moteur de chiffrement.

+ +

D'autres détails, discussions et exemples sont fournis dans la documentation SSL.

+
+ +
Variables d'environnement + +

Ce module peut être configuré pour fournir aux espaces de nommage SSI +et CGI de nombreux éléments d'informations concernant SSL par le biais +de variables d'environnement supplémentaires. Par défaut, et ceci pour +des raisons de performances, ces informations ne sont pas fournies (Voir +la directive SSLOptions StdEnvVars ci-dessous). +Les variables générées se trouvent dans la table ci-dessous. +L'information peut aussi être disponible sous des noms différents à des +fins de compatibilité ascendante. Reportez-vous au chapitre Compatibilité pour plus de détails à +propos des variables de compatibilité.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nom de la variable :Type de valeur :Description :
HTTPS drapeauHTTPS est utilisé.
SSL_PROTOCOL chaîneLa version du protocole SSL (SSLv3, TLSv1, TLSv1.1, TLSv1.2)
SSL_SESSION_ID chaîneL'identifiant de session SSL codé en hexadécimal
SSL_SESSION_RESUMED chaîneSession SSL initiale ou reprise. Note : plusieurs requêtes peuvent +être servies dans le cadre de la même session SSL (initiale ou reprise) +si les connexions persistantes (HTTP KeepAlive) sont utilisées
SSL_SECURE_RENEG chaînetrue si la renégociation sécurisée est supportée, +false dans le cas contraire
SSL_CIPHER chaîneLe nom de l'algorithme de chiffrement
SSL_CIPHER_EXPORT chaînetrue si l'algorithme de chiffrement est un algorithme +exporté
SSL_CIPHER_USEKEYSIZE nombreNombre de bits de chiffrement (réellement utilisés)
SSL_CIPHER_ALGKEYSIZE nombreNombre de bits de chiffrement (possible)
SSL_COMPRESS_METHOD chaîneMéthode de compression SSL négociée
SSL_VERSION_INTERFACE chaîneLa version du programme mod_ssl
SSL_VERSION_LIBRARY chaîneLa version du programme OpenSSL
SSL_CLIENT_M_VERSION chaîneLa version du certificat client
SSL_CLIENT_M_SERIAL chaîneLe numéro de série du certificat client
SSL_CLIENT_S_DN chaîneLe DN sujet du certificat client
SSL_CLIENT_S_DN_x509 chaîneElément du DN sujet du client
SSL_CLIENT_SAN_Email_nchaîne Extensions subjectAltName de type rfc822Name du certificat client
SSL_CLIENT_SAN_DNS_n chaîneExtensions subjectAltName de type dNSName du certificat client
SSL_CLIENT_SAN_OTHER_msUPN_nchaîne Extensions subjectAltName de type otherName du +certificat client, forme Microsoft du nom principal de l'utilisateur (OID 1.3.6.1.4.1.311.20.2.3)
SSL_CLIENT_I_DN chaîneDN de l'émetteur du certificat du client
SSL_CLIENT_I_DN_x509 chaîneElément du DN de l'émetteur du certificat du client
SSL_CLIENT_V_START chaîneValidité du certificat du client (date de début)
SSL_CLIENT_V_END chaîneValidité du certificat du client (date de fin)
SSL_CLIENT_V_REMAIN chaîneNombre de jours avant expiration du certificat du client
SSL_CLIENT_A_SIG chaîneAlgorithme utilisé pour la signature du certificat du client
SSL_CLIENT_A_KEY chaîneAlgorithme utilisé pour la clé publique du certificat du client
SSL_CLIENT_CERT chaîneCertificat du client au format PEM
SSL_CLIENT_CERT_CHAIN_nchaîne Certificats de la chaîne de certification du +client au format PEM
SSL_CLIENT_CERT_RFC4523_CEA chaîneNuméro de série et fournisseur du certificat. Le format correspond à +celui de la CertificateExactAssertion de la RFC4523
SSL_CLIENT_VERIFY chaîneNONE, SUCCESS, GENEROUS ou +FAILED:raison
SSL_SERVER_M_VERSION chaîneLa version du certificat du serveur
SSL_SERVER_M_SERIAL chaîne + +The serial of the server certificate
SSL_SERVER_S_DN chaîneDN sujet du certificat du serveur
SSL_SERVER_S_DN_x509 chaîneElément du DN sujet du certificat du serveur
SSL_SERVER_SAN_Email_nchaîne Extensions subjectAltName de type rfc822Name du +certificat serveur
SSL_CLIENT_SAN_DNS_n chaîneExtensions subjectAltName de type dNSName du certificat serveur
SSL_SERVER_SAN_OTHER_dnsSRV_nchaîne Extensions subjectAltName de type otherName du +certificat serveur, sous la forme SRVName (OID 1.3.6.1.5.5.7.8.7, RFC 4985)
SSL_SERVER_I_DN chaîneDN de l'émetteur du certificat du serveur
SSL_SERVER_I_DN_x509 chaîneElément du DN de l'émetteur du certificat du serveur
SSL_SERVER_V_START chaîneValidité du certificat du serveur (date de dédut)
SSL_SERVER_V_END chaîneValidité du certificat du serveur (date de fin)
SSL_SERVER_A_SIG chaîneAlgorithme utilisé pour la signature du certificat du serveur
SSL_SERVER_A_KEY chaîneAlgorithme utilisé pour la clé publique du certificat du serveur
SSL_SERVER_CERT chaîneCertificat du serveur au format PEM
SSL_SRP_USER stringnom d'utilisateur SRP
SSL_SRP_USERINFO stringinformations sur l'utilisateur SRP
SSL_TLS_SNI stringContenu de l'extension SNI TLS (si supporté par ClientHello)
+ +

x509 spécifie un élément de DN X.509 parmi +C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email. A partir de la version +2.1 d'Apache, x509 peut aussi comporter un suffixe numérique +_n. Si le DN en question comporte plusieurs attributs de +noms identiques, ce suffixe constitue un index débutant à zéro et +permettant de sélectionner un +attribut particulier. Par exemple, si le DN sujet du certificat du +serveur comporte deux champs OU, on peut utiliser +SSL_SERVER_S_DN_OU_0 et SSL_SERVER_S_DN_OU_1 +pour référencer chacun d'entre eux. Un nom de variable sans suffixe +_n est équivalent au même nom avec le suffixe +_0, ce qui correspond au premier attribut (ou au seul) +caractérisant le DN. +Lorsque la table d'environnement est remplie en utilisant l'option +StdEnvVars de la directive SSLOptions, le premier attribut (ou le +seul) caractérisant le DN est enregistré avec un nom sans suffixe ; +autrement dit, aucune entrée possédant comme suffixe _0 +n'est enregistrée.

+ +

Le format des variables *_DN a changé depuis la version +2.3.11 d'Apache HTTPD. Voir l'option LegacyDNStringFormat +de la directive SSLOptions pour +plus de détails.

+ +

SSL_CLIENT_V_REMAIN n'est disponible qu'à partir de la +version 2.1.

+ +

Plusieurs variables d'environnement additionnelles peuvent être +utilisées dans les expressions SSLRequire, ou +dans les formats de journalisation personnalisés :

+ +
HTTP_USER_AGENT        PATH_INFO             AUTH_TYPE
+HTTP_REFERER           QUERY_STRING          SERVER_SOFTWARE
+HTTP_COOKIE            REMOTE_HOST           API_VERSION
+HTTP_FORWARDED         REMOTE_IDENT          TIME_YEAR
+HTTP_HOST              IS_SUBREQ             TIME_MON
+HTTP_PROXY_CONNECTION  DOCUMENT_ROOT         TIME_DAY
+HTTP_ACCEPT            SERVER_ADMIN          TIME_HOUR
+THE_REQUEST            SERVER_NAME           TIME_MIN
+REQUEST_FILENAME       SERVER_PORT           TIME_SEC
+REQUEST_METHOD         SERVER_PROTOCOL       TIME_WDAY
+REQUEST_SCHEME         REMOTE_ADDR           TIME
+REQUEST_URI            REMOTE_USER
+ +

Dans ces contextes, deux formats spéciaux peuvent aussi être utilisés +:

+ +
+
ENV:nom_variable
+
Correspond à la variable d'environnement standard + nom_variable.
+ +
HTTP:nom_en-tête
+
Correspond à la valeur de l'en-tête de requête dont le nom est + nom_en-tête.
+
+ +
+ +
Formats de journaux +personnalisés + +

Lorsque mod_ssl est compilé dans le serveur Apache +ou même chargé (en mode DSO), des fonctions supplémentaires sont +disponibles pour le Format de journal personnalisé du +module mod_log_config. A ce titre, la fonction de +format d'eXtension ``%{nom-var}x'' +peut être utilisée pour présenter en extension toute variable fournie +par tout module, et en particulier celles fournies par mod_ssl et que +vous trouverez dans la table ci-dessus.

+

+A des fins de compatibilité ascendante, il existe une fonction de format +cryptographique supplémentaire +``%{nom}c''. Vous trouverez toutes +les informations à propos de cette fonction dans le chapitre Compatibilité.

+Exemple + +CustomLog "logs/ssl_request_log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" + + +

Ces formats sont disponibles même si l'option StdEnvVars de la +directive SSLOptions n'a pas été +définie.

+
+ +
Information à propos de la requête + +

mod_ssl enregistre des informations à propos de la +requête que l'on peut restituer dans les journaux avec la chaîne de +format %{nom}n via le module +mod_log_config.

+ +

Les informations enregistrées sont les suivantes :

+ +
+
ssl-access-forbidden
+
Cette information contient la valeur 1 si l'accès a + été refusé suite à une directive SSLRequire ou + SSLRequireSSL.
+ +
ssl-secure-reneg
+
Si mod_ssl a été compilé avec une version + d'OpenSSL qui supporte la renégociation sécurisée, si SSL est utilisé + pour la connexion courante et si le client supporte lui aussi la + renégociation sécurisée, cette information contiendra la valeur + 1. Si le client ne supporte pas la renégociation + sécurisée, l'information contiendra la valeur 0. Si + mod_ssl n'a pas été compilé avec une version + d'OpenSSL qui supporte la renégociation sécurisée, ou si SSL n'est pas + utilisé pour la connexion courante, le contenu de l'information ne + sera pas défini.
+
+ +
+ +
Extension pour l'interprétation +des expressions + +

Lorsque mod_ssl est compilé statiquement avec +Apache, ou même chargé dynamiquement (en tant que module DSO), toute variable en provenance de mod_ssl peut +être utilisée pour l'interprétation des +expression ap_expr. Les variables peuvent être référencées en +utilisant la syntaxe ``%{varname}''. +A partir de la version 2.4.18, on peut aussi utiliser la syntaxe de +style mod_rewrite +``%{SSL:varname}'', ou la syntaxe de +style fonction ``ssl(varname)''.

+Exemple (en utilisant <module>mod_headers</module>) + +Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}" +Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}" + + +

Cette fonctionnalité est disponible même si l'option +StdEnvVars de la directive SSLOptions n'a pas été définie.

+
+ +
Fournisseurs d'autorisation +disponibles avec Require + +

mod_ssl propose quelques fournisseurs + d'autorisation à utiliser avec la directive Require du module + mod_authz_core.

+ +
Require ssl + +

Le fournisseur ssl refuse l'accès si une connexion + n'est pas chiffrée avec SSL. L'effet est similaire à celui de la + directive SSLRequireSSL.

+ + + + Require ssl + + + +
+ +
Require ssl-verify-client + +

Le fournisseur ssl autorise l'accès si + l'utilisateur est authentifié via un certificat client valide. Ceci + n'a un effet que si SSLVerifyClient optional est actif.

+ +

Dans l'exemple suivant, l'accès est autorisé si le client est + authentifié via un certificat client ou par nom d'utilisateur/mot de + passe :

+ + +Require ssl-verify-client +Require valid-user + + +
+ +
+ + +SSLPassPhraseDialog +Méthode utilisée pour entrer le mot de passe pour les clés +privées chiffrées +SSLPassPhraseDialog type +SSLPassPhraseDialog builtin +server config + + +

+Lors de son démarrage, Apache doit lire les différents fichiers de +certificats (voir la directive SSLCertificateFile) et de clés privées +(voir la directive SSLCertificateKeyFile) des serveurs +virtuels où SSL est activé. Comme, pour des raisons de sécurité, les +fichiers de clés privées sont en général chiffrés, mod_ssl doit +demander à l'administrateur un mot de passe pour déchiffrer ces +fichiers. L'argument type permet de choisir la manière dont +cette demande peut être formulée parmi les trois suivantes :

+
    +
  • builtin +

    + C'est la méthode par défaut, et un dialogue interactive de terminal + s'ouvre au cours du démarrage juste avant qu'Apache ne se détache du + terminal. A ce moment, l'administrateur doit entrer manuellement un + mot de passe pour chaque fichier de clé privée chiffré. Etant donné + qu'il peut y avoir un grand nombre de serveurs virtuels configurés + avec SSL activé, le protocole de réutilisation suivant est utilisé + pour minimiser le dialogue : lorsqu'un fichier de clé privée est + chiffré, tous les mots de passe connus (au début, il n'y en a aucun, + bien entendu) sont essayés. Si l'un de ces mots de passe connus + convient, aucun dialogue ne s'ouvrira pour ce fichier de + clé privée particulier. Si aucun ne convient, un autre mot de passe + sera demandé à partir du terminal et sera mis en mémoire pour le + fichier de clé privée suivant (pour lequel il pourra éventuellement + être réutilisé).

    +

    + Cette méthode confère à mod_ssl une grande souplesse (car pour N + fichiers de clé privée chiffrés, vous pouvez utiliser N + mots de passe différents - mais vous devrez alors tous les fournir, + bien entendu), tout en minimisant le dialogue de terminal (vous + pouvez en effet utiliser un seul mot de passe pour les N fichiers de + clé privée et vous n'aurez alors à l'entrer qu'une seule + fois).

  • + +
  • |/chemin/vers/programme [arguments...] + +

    Ce mode permet d'utiliser un programme externe qui va se présenter + comme une redirection vers un périphérique d'entrée particulier ; le + texte de prompt standard utilisé pour le mode builtin + est envoyé au programme sur stdin, et celui-ci doit + renvoyer des mots de passe sur stdout. Si + plusieurs mots de passe sont requis (ou si un mot de passe incorrect + a été entré), un texte de prompt supplémentaire sera écrit après le + retour du premier mot de passe, et d'autres mots de passe devront + alors être réécrits.

  • + +
  • exec:/chemin/vers/programme +

    + Ici, un programme externe est appelé au démarrage du serveur pour + chaque fichier de clé privée chiffré. Il est + appelé avec un + argument, une chaîne de la forme + "servername:portnumber:index" (index étant un numéro + d'ordre débutant 0), qui indique pour quels serveur, port TCP et + numéro de certificat il doit écrire le mot de + passe correspondant sur stdout. Le but recherché est + l'exécution de vérifications de sécurité préalables permettant de + s'assurer que le système n'est pas victime d'une attaque, et de ne + fournir le mot de passe que si toutes les vérifications ont été + effectuées avec succès.

    +

    + Ces vérifications de sécurité, ainsi que la manière dont le mot de + passe est déterminé peuvent être aussi sophistiqués que vous le + désirez. Mod_ssl ne définit que l'interface : un programme + exécutable qui écrit le mot de passe sur stdout. Ni + plus, ni moins ! Ainsi, si vous êtes vraiment paranoïaque en matière + de sécurité, voici votre interface. Tout le reste doit être confié à + l'administrateur à titre d'exercice, car les besoins en sécurité + locale sont très différents.

    +

    + L'algorithme de réutilisation est utilisé ici aussi. En d'autres + termes, le programme externe n'est appelé qu'une fois par mot de + passe unique.

  • +
+Exemple + +SSLPassPhraseDialog exec:/usr/local/apache/sbin/pp-filter + + +
+
+ + +SSLRandomSeed +Source de déclenchement du Générateur de Nombres +Pseudo-Aléatoires (PRNG) +SSLRandomSeed contexte source +[nombre] +server config + + +

+Cette directive permet de définir une ou plusieurs sources de +déclenchement du Générateur de Nombres Pseudo-Aléatoires (PRNG) dans +OpenSSL au démarrage du serveur (si contexte a pour valeur +startup) et/ou juste avant l'établissement d'une nouvelle +connexion SSL (si contexte a pour valeur connect). +Cette directive ne peut être utilisée qu'au niveau du serveur global car +le PRNG est un service global.

+

+Les différentes valeurs de source disponibles sont :

+
    +
  • builtin +

    Cette source de déclenchement intégrée est toujours disponible. + Son utilisation consomme un minimum de cycles CPU en cours + d'exécution, et son utilisation ne présente de ce fait aucun + problème. La source utilisée pour déclencher le PRNG contient la + date courante, l'identifiant du processus courant et (si disponible) + un extrait de 1Ko aléatoirement choisi de la structure d'Apache pour + les échanges inter-processus. Ceci présente un inconvénient car le + caractère aléatoire de cette source n'est pas vraiment fort, et au + démarrage (lorsque la structure d'échanges n'est pas encore + disponible), cette source ne produit que quelques octets d'entropie. + Vous devez donc toujours utiliser une source de déclenchement + additionnelle, au moins pour le démarrage.

  • +
  • file:/chemin/vers/source +

    + Cette variante utilise un fichier externe + file:/chemin/vers/source comme source de déclenchement + du PRNG. Lorsque nombre est spécifié, seuls les + nombre premiers octets du fichier forment l'entropie (et + nombre est fourni comme premier argument à + /chemin/vers/source). Lorsque nombre n'est pas + spécifié, l'ensemble du fichier forme l'entropie (et 0 + est fourni comme premier argument à + /chemin/vers/source). Utilisez cette source en + particulier au démarrage, par exemple avec un fichier de + périphérique /dev/random et/ou + /dev/urandom (qui sont en général présent sur les + plate-formes dérivées d'Unix modernes comme FreeBSD et Linux).

    +

    Soyez cependant prudent : en général, + /dev/random ne fournit que l'entropie dont il dispose + réellement ; en d'autres termes, lorsque vous demandez 512 octets + d'entropie, si le périphérique ne dispose que de 100 octets, deux + choses peuvent se produire : sur certaines plates-formes, vous ne + recevez que les 100 octets, alors que sur d'autres, la lecture se + bloque jusqu'à ce qu'un nombre suffisant d'octets soit disponible + (ce qui peut prendre beaucoup de temps). Il est préférable ici + d'utiliser le périphérique /dev/urandom, car il ne se + bloque jamais et fournit vraiment la quantité de données demandées. + Comme inconvénient, les données reçues ne sont pas forcément de la + meilleure qualité.

  • + +
  • exec:/chemin/vers/programme +

    + Cette variante utilise un exécutable externe + /chemin/vers/programme comme source de déclenchement du + PRNG. Lorsque nombre est spécifié, seules les + nombre premiers octets de son flux stdout + forment l'entropie. Lorsque nombre n'est pas spécifié, + l'intégralité des données produites sur stdout forment + l'entropie. N'utilisez cette variante qu'au démarrage où une source + de déclenchement fortement aléatoire est nécessaire, en utilisant + un programme externe (comme dans l'exemple + ci-dessous avec l'utilitaire truerand basé sur la + bibliothèque truerand de AT&T que vous trouverez + dans la distribution de mod_ssl). Bien entendu, l'utilisation de + cette variante dans un contexte "connection" ralentit le serveur de + manière trop importante, et en général, vous devez donc éviter + d'utiliser des programmes externes dans ce contexte.

  • +
  • egd:/chemin/vers/socket-egd (Unix seulement) +

    Cette variante utilise le socket de domaine Unix du Démon + Générateur d'Entropie externe ou Entropy Gathering Daemon ou EGD + (voir http://www.lothar.com/tech + /crypto/) pour déclencher le PRNG. N'utilisez cette variante que + si votre plate-forme ne possède pas de périphérique random ou + urandom.

  • +
+Exemple + +SSLRandomSeed startup builtin +SSLRandomSeed startup file:/dev/random +SSLRandomSeed startup file:/dev/urandom 1024 +SSLRandomSeed startup exec:/usr/local/bin/truerand 16 +SSLRandomSeed connect builtin +SSLRandomSeed connect file:/dev/random +SSLRandomSeed connect file:/dev/urandom 1024 + + +
+
+ + +SSLSessionCache +Type du cache de session SSL global et +inter-processus +SSLSessionCache type +SSLSessionCache none +server config + + +

+Cette directive permet de configurer le type de stockage du cache de +session SSL global et inter-processus. Ce cache est une fonctionnalité +optionnelle qui accélère le traitement parallèle des requêtes. Pour ce +qui est des requêtes vers un même processus du serveur (via HTTP +keep-alive), OpenSSL met en cache les informations de session SSL en +interne. Mais comme les clients modernes demandent des images en ligne +et d'autres données via des requêtes parallèles (un nombre de quatre +requêtes parallèles est courant), ces requêtes vont être servies par +plusieurs processus du serveur pré-déclenchés. Ici, un cache +inter-processus permet d'éviter des négociations de session +inutiles.

+

+Les quatre types de stockage suivants sont actuellement +supportés :

+
    +
  • none + +

    Cette valeur désactive le cache de session global et + inter-processus, ce qui va ralentir le serveur de manière sensible + et peut poser problème avec certains navigateurs, en particulier si + les certificats clients sont activés. Cette configuration n'est pas + recommandée.

  • + +
  • nonenotnull + +

    Cette valeur désactive tout cache de session global et + inter-processus. Cependant, elle force OpenSSL à envoyer un + identifiant de session non nul afin de s'adapter aux clients bogués + qui en nécessitent un.

  • + +
  • dbm:/chemin/vers/fichier-données + +

    Cette valeur utilise un fichier de hashage DBM sur disque local + pour synchroniser les caches OpenSSL locaux en mémoire des processus + du serveur. Ce cache de session peut être sujet à des problèmes de + fiabilité sous forte charge. Pour l'utiliser, le module + mod_socache_dbm doit être chargé.

  • + +
  • shmcb:/chemin/vers/fichier-données[(nombre)] + +

    Cette valeur utilise un tampon cyclique à hautes performances + (d'une taille d'environ nombre octets) dans un segment de + mémoire partagée en RAM (établi via + /chemin/vers/fichier-données, pour synchroniser les + caches OpenSSL locaux en mémoire des processus du serveur. C'est le + type de cache de session recommandé. Pour l'utiliser, le module + mod_socache_shmcb doit être chargé.

  • + +
  • dc:UNIX:/chemin/vers/socket + +

    Cette valeur utilise les bibliothèques de mise en cache de + sessions distribuée sur distcache. + L'argument doit spécifier le serveur ou mandataire à utiliser en + utilisant la syntaxe d'adressage distcache ; par exemple, + UNIX:/chemin/vers/socket spécifie un socket de domaine + Unix (en général un mandataire de dc_client local) ; + IP:serveur.example.com:9001 spécifie une adresse IP. + Pour l'utiliser, le module mod_socache_dc doit être + chargé.

  • + +
+ +Exemples + +SSLSessionCache dbm:/usr/local/apache/logs/ssl_gcache_data +SSLSessionCache shmcb:/usr/local/apache/logs/ssl_gcache_data(512000) + + + +

Le mutex ssl-cache permet de sérialiser l'accès au cache +de session afin d'éviter toute corruption. Ce mutex peut être configuré +via la directive Mutex.

+
+
+ + +SSLSessionCacheTimeout +Nombre de secondes avant l'expiration d'une session SSL +dans le cache de sessions +SSLSessionCacheTimeout secondes +SSLSessionCacheTimeout 300 +server config +virtual host +S'applique aussi au renouvellement de la session TLS de +la RFC 5077 à partir de la version 2.4.10 du serveur HTTP Apache + + +

+Cette directive permet de définir la durée de vie en secondes des +informations stockées dans le cache de sessions SSL global et +inter-processus, dans le cache OpenSSL interne en mémoire et pour +les sessions réinitialisées par la reprise de session TLS (RFC 5077). elle peut +être définie à une valeur d'environ 15 à des fins de test, mais à une +valeur très supérieure comme 300 en production.

+Exemple + +SSLSessionCacheTimeout 600 + + +
+
+ + +SSLEngine +Interrupteur marche/arrêt du moteur SSL +SSLEngine on|off|optional +SSLEngine off +server config +virtual host + + +

+Cette directive permet d'activer/désactiver le moteur du protocole +SSL/TLS. Elle doit être utilisée dans une section VirtualHost pour activer +SSL/TLS pour ce serveur virtuel particulier. Par défaut, le moteur du +protocole SSL/TLS est désactivé pour le serveur principal et tous les +serveurs virtuels configurés.

+Exemple + +<VirtualHost _default_:443> +SSLEngine on +#... +</VirtualHost> + + +

Depuis la version 2.1 d'Apache, la directive +SSLEngine peut être définie à +optional, ce qui active le support de RFC 2817, Upgrading to +TLS Within HTTP/1.1. Pour le moment, aucun navigateur web ne supporte +RFC 2817.

+
+
+ + +SSLFIPS +Coimmutateur du mode SSL FIPS +SSLFIPS on|off +SSLFIPS off +server config + + +

+Cette directive permet d'activer/désactiver l'utilisation du drapeau +FIPS_mode de la bibliothèque SSL. Elle doit être définie dans le +contexte du serveur principal, et n'accepte pas les configurations +sources de conflits (SSLFIPS on suivi de SSLFIPS off par exemple). Le +mode s'applique à toutes les opérations de la bibliothèque SSL. +

+

+Si httpd a été compilé avec une bibliothèque SSL qui ne supporte pas le +drapeau FIPS_mode, la directive SSLFIPS on échouera. +Reportez-vous au document sur la politique de sécurité FIPS 140-2 de la +bibliothèque du fournisseur SSL, pour les prérequis spécifiques +nécessaires à l'utilisation de mod_ssl selon un mode d'opération +approuvé par FIPS 140-2 ; notez que mod_ssl en lui-même n'est pas +validé, mais peut être décrit comme utilisant un module de chiffrement +validé par FIPS 140-2, lorsque tous les composants sont assemblés et mis +en oeuvre selon les recommandations de la politique de sécurité +applicable. +

+
+
+ + +SSLProtocol +Indique les versions du protocole SSL/TLS +disponibles +SSLProtocol [+|-]protocole ... +SSLProtocol all -SSLv3 +server config +virtual host + + +

+Cette directive permet de définir quelles versions du protocole SSL/TLS +seront acceptées lors de l'initialisation d'une nouvelle connexion.

+

+Les protocoles disponibles sont les suivants (sensibles à la +casse) :

+
    +
  • SSLv3 +

    + Il s'agit du protocole Secure Sockets Layer (SSL) version 3.0 de + Netscape Corporation. C'est le successeur de SSLv2 et le + prédécesseur de TLSv1, mais est considéré comme + obsolète dans la RFC + 7568

  • + +
  • TLSv1 +

    + Il s'agit du protocole Transport Layer Security (TLS) version 1.0. + C'est le successeur de SSLv3, et il est défini dans la RFC2246.

  • + +
  • TLSv1.1 (à partir de la version 1.0.1 d'OpenSSL) +

    + Une révision du protocole TLS 1.0 définie dans la RFC 4346. Il est + supporté par la plupart des clients.

  • + +
  • TLSv1.2 (à partir de la version 1.0.1 d'OpenSSL) +

    + Une révision du protocole TLS 1.1 définie dans la RFC 5246.

  • + +
  • all +

    + C'est un raccourci pour ``+SSLv3 +TLSv1'' ou - à partir + de la version 1.0.1 d'OpenSSL - ``+SSLv3 +TLSv1 +TLSv1.1 + +TLSv1.2'' (sauf si OpenSSL a été compilé avec l'option + ``no-ssl3'', auquel cas all n'inclura pas + +SSLv3).

  • +
+Exemple + +SSLProtocol TLSv1 + + +
+
+ + +SSLCipherSuite +Algorithmes de chiffrement disponibles pour la négociation +au cours de l'initialisation de la connexion SSL +SSLCipherSuite algorithmes +SSLCipherSuite DEFAULT (dépend de la version d'OpenSSL +installée) +server config +virtual host +directory +.htaccess +AuthConfig + + +

+Cette directive complexe utilise la chaîne algorithmes +contenant la liste des algorithmes de chiffrement OpenSSL que le client +peut utiliser au cours de la phase d'initialisation de la connexion SSL. +Notez que cette directive peut être utilisée aussi bien dans un contexte +de serveur que dans un contexte de répertoire. Dans un contexte de +serveur, elle s'applique à l'initialisation SSL standard lorsqu'une +connexion est établie. Dans un contexte de répertoire, elle force une +renégociation SSL avec la liste d'algorithmes de chiffrement spécifiée +après la lecture d'une requête HTTP, mais avant l'envoi de la réponse +HTTP.

+

+La liste d'algorithmes de chiffrement SSL spécifiée par l'argument +algorithmes comporte quatre attributs principaux auxquels +s'ajoutent quelques attributs secondaires :

+
    +
  • Algorithme d'échange de clés:
    + RSA, Diffie-Hellman, Elliptic Curve Diffie-Hellman, Secure Remote Password. +
  • +
  • Algorithme d'authentification:
    + RSA, Diffie-Hellman, DSS, ECDSA, ou none. +
  • +
  • Algorithme de chiffrement:
    + AES, DES, Triple-DES, RC4, RC2, IDEA, etc... +
  • +
  • Algorithme de condensé MAC:
    + MD5, SHA ou SHA1, SHA256, SHA384. +
  • +
+

L'algorithme de chiffrement peut aussi provenir de l'extérieur. Les +algorithmes SSLv2 ne sont plus supportés. +Pour définir les algorithmes à utiliser, on +peut soit spécifier tous les algorithmes à la fois, soit utiliser des +alias pour spécifier une liste d'algorithmes dans leur ordre de +préférence (voir Table 1). Les algorithmes et +alias effectivement disponibles dépendent de la version d'openssl +utilisée. Les versions ultérieures d'openssl sont susceptibles d'inclure +des algorithmes supplémentaires.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Symbole Description
Algorithme d'échange de clés :
kRSA Echange de clés RSA
kDHr Echange de clés Diffie-Hellman avec +clé RSA
kDHd Echange de clés Diffie-Hellman avec +clé DSA
kEDH Echange de clés Diffie-Hellman +temporaires (pas de certificat)
kSRP échange de clés avec mot de passe +distant sécurisé (SRP)
Algorithmes d'authentification :
aNULL Pas d'authentification
aRSA Authentification RSA
aDSS Authentification DSS
aDH Authentification Diffie-Hellman
Algorithmes de chiffrement :
eNULL Pas de chiffrement
NULL alias pour eNULL
AES Chiffrement AES
DES Chiffrement DES
3DES Chiffrement Triple-DES
RC4 Chiffrement RC4
RC2 Chiffrement RC2
IDEA Chiffrement IDEA
Algorithmes de condensés MAC :
MD5 Fonction de hashage MD5
SHA1 Fonction de hashage SHA1
SHA alias pour SHA1
SHA256 Fonction de hashage SHA256
SHA384 Fonction de hashage SHA384
Alias :
SSLv3 tous les algorithmes de chiffrement +SSL version 3.0
TLSv1 tous les algorithmes de chiffrement +TLS version 1.0
EXP tous les algorithmes de chiffrement +externes
EXPORT40 tous les algorithmes de chiffrement +externes limités à 40 bits
EXPORT56 tous les algorithmes de chiffrement +externes limités à 56 bits
LOW tous les algorithmes de chiffrement +faibles (non externes, DES simple)
MEDIUM tous les algorithmes avec +chiffrement 128 bits
HIGH tous les algorithmes +utilisant Triple-DES
RSA tous les algorithmes +utilisant l'échange de clés RSA
DH tous les algorithmes +utilisant l'échange de clés Diffie-Hellman
EDH tous les algorithmes +utilisant l'échange de clés Diffie-Hellman temporaires
ECDH Echange de clés Elliptic Curve Diffie-Hellman
ADH tous les algorithmes +utilisant l'échange de clés Diffie-Hellman anonymes
AECDH tous les algorithmes utilisant +l'échange de clés Elliptic Curve Diffie-Hellman
SRP tous les algorithmes utilisant +l'échange de clés avec mot de passe distant sécurisé (SRP)
DSS tous les algorithmes +utilisant l'authentification DSS
ECDSA tous les algorithmes utilisant +l'authentification ECDSA
aNULL tous les algorithmes n'utilisant +aucune authentification
+

+Cela devient intéressant lorsque tous ces symboles sont combinés +ensemble pour spécifier les algorithmes disponibles et l'ordre dans +lequel vous voulez les utiliser. Pour simplifier tout cela, vous +disposez aussi d'alias (SSLv3, TLSv1, EXP, LOW, MEDIUM, +HIGH) pour certains groupes d'algorithmes. Ces symboles peuvent +être reliés par des préfixes pour former la chaîne algorithmes. +Les préfixes disponibles sont :

+
    +
  • none: ajoute l'algorithme à la liste
  • +
  • +: déplace les algorithmes qui conviennent à la +place courante dans la liste
  • +
  • -: supprime l'algorithme de la liste (peut être rajouté +plus tard)
  • +
  • !: supprime définitivement l'algorithme de la liste (ne +peut plus y être rajouté plus tard)
  • +
+ + +Les algorithmes <code>aNULL</code>, <code>eNULL</code> et +<code>EXP</code> sont toujours désactivés +

Depuis la version 2.4.7, les +algorithmes de type null ou destinés à l'exportation sont toujours +désactivés car mod_ssl ajoute obligatoirement +!aNULL:!eNULL:!EXP à toute chaîne d'algorithme de +chiffrement à l'initialisation.

+
+ +

Pour vous simplifier la vie, vous pouvez utiliser la commande +``openssl ciphers -v'' qui vous fournit un moyen simple de +créer la chaîne algorithmes avec succès. La chaîne +algorithmes par défaut dépend de la version des bibliothèques +SSL installées. Supposons qu'elle contienne +``RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5'', ce qui +stipule de mettre RC4-SHA et AES128-SHA en +premiers, car ces algorithmes présentent un bon compromis entre vitesse +et sécurité. Viennent ensuite les algorithmes de sécurité élevée et +moyenne. En fin de compte, les algorithmes qui n'offrent aucune +authentification sont exclus, comme les algorithmes anonymes +Diffie-Hellman pour SSL, ainsi que tous les algorithmes qui utilisent +MD5 pour le hashage, car celui-ci est reconnu comme +insuffisant.

+ +
+$ openssl ciphers -v 'RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5'
+RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1
+AES128-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1
+DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
+...                     ...               ...     ...           ...
+SEED-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=SEED(128) Mac=SHA1
+PSK-RC4-SHA             SSLv3 Kx=PSK      Au=PSK  Enc=RC4(128)  Mac=SHA1
+KRB5-RC4-SHA            SSLv3 Kx=KRB5     Au=KRB5 Enc=RC4(128)  Mac=SHA1
+
+
+

Vous trouverez la liste complète des algorithmes RSA & DH +spécifiques à SSL dans la Table 2.

+Exemple + +SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Symbole algorithme ProtocoleEchange de clés Authentification ChiffrementCondensé MAC Type
Algorithmes RSA :
DES-CBC3-SHA SSLv3 RSA RSA 3DES(168) SHA1
IDEA-CBC-SHA SSLv3 RSA RSA IDEA(128) SHA1
RC4-SHA SSLv3 RSA RSA RC4(128) SHA1
RC4-MD5 SSLv3 RSA RSA RC4(128) MD5
DES-CBC-SHA SSLv3 RSA RSA DES(56) SHA1
EXP-DES-CBC-SHA SSLv3 RSA(512) RSA DES(40) SHA1 export
EXP-RC2-CBC-MD5 SSLv3 RSA(512) RSA RC2(40) MD5 export
EXP-RC4-MD5 SSLv3 RSA(512) RSA RC4(40) MD5 export
NULL-SHA SSLv3 RSA RSA None SHA1
NULL-MD5 SSLv3 RSA RSA None MD5
Algorithmes Diffie-Hellman :
ADH-DES-CBC3-SHA SSLv3 DH None 3DES(168) SHA1
ADH-DES-CBC-SHA SSLv3 DH None DES(56) SHA1
ADH-RC4-MD5 SSLv3 DH None RC4(128) MD5
EDH-RSA-DES-CBC3-SHA SSLv3 DH RSA 3DES(168) SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 DH DSS 3DES(168) SHA1
EDH-RSA-DES-CBC-SHA SSLv3 DH RSA DES(56) SHA1
EDH-DSS-DES-CBC-SHA SSLv3 DH DSS DES(56) SHA1
EXP-EDH-RSA-DES-CBC-SHA SSLv3 DH(512) RSA DES(40) SHA1 export
EXP-EDH-DSS-DES-CBC-SHA SSLv3 DH(512) DSS DES(40) SHA1 export
EXP-ADH-DES-CBC-SHA SSLv3 DH(512) None DES(40) SHA1 export
EXP-ADH-RC4-MD5 SSLv3 DH(512) None RC4(40) MD5 export
+
+
+ + +SSLCertificateFile +Fichier de données contenant les informations de certificat X.509 du serveur +codées au format PEM +SSLCertificateFile chemin-fichier +server config +virtual host + + +

+Cette directive permet de définir le fichier de données contenant +les informations de certificat +X.509 du serveur codées au format PEM. Ce fichier doit contenir +au minimum un certificat d'entité finale (feuille). +La directive peut être utilisée plusieurs fois (elle référence des +fichiers différents) pour accepter plusieurs algorithmes +d'authentification au niveau du serveur - souvent RSA, DSA et ECC. Le +nombre d'algorithmes supportés dépend de la version d'OpenSSL utilisée +avec mod_ssl : à partir de la version 1.0.0, la commande openssl +list-public-key-algorithms affiche la liste des algorithmes +supportés. Voir aussi la note ci-dessous à propos des limitations des versions +d'OpenSSL antérieures à 1.0.2 et la manière de les contourner. +

+ +

Les fichiers peuvent aussi contenir des certificats de CA +intermédiaires triés depuis la feuille vers la racine. Cette +fonctionnalité est disponible depuis la version 2.4.8 du serveur HTTP +Apache, et rend obsolète la directive SSLCertificateChainFile. A partir de la +version 1.0.2 d'OpenSSL, il est alors possible de configurer la chaîne +de certification en fonction du certificat.

+ +

Depuis la version 2.4.7 du serveur HTTP Apache, on peut aussi ajouter +des paramètres DH personnalisés et un nom EC +curve pour les clés éphémères à la fin du premier fichier défini par la +directive SSLCertificateFile. +Ces paramètres peuvent être générés avec les commandes openssl +dhparam et openssl ecparam, et ils peuvent être +ajoutés tel quel à la fin du premier fichier de certificat. En effet, +seul le premier fichier de certificat défini peut être utilisé pour +enregistrer des paramètres personnalisés, car ces derniers s'appliquent +indépendamment de l'algorithme d'authentification utilisé. +

+ +

Enfin, il est aussi possible d'ajouter la clé privée du certificat de +l'entité finale au fichier de certificat, ce qui permet de se passer +d'une directive SSLCertificateKeyFile séparée. Cette +pratique est cependant fortement déconseillée. En effet, les fichiers de +certificats qui contiennent de tels clés embarquées doivent être définis +avant les certificats en utilisant un fichier de clé séparé. En outre, +si la clé est chiffrée, une boîte de dialogue pour entrer le mot de +passe de la clé s'ouvre au démarrage du serveur. +

+ + +Interopérabilité des paramètres DH avec les nombres premiers de +plus de 1024 bits +

+Depuis la version 2.4.7, mod_ssl utilise des +paramètres DH standardisés avec des nombres premiers de 2048, 3072 et +4096 bits, et avec des nombres premiers de 6144 et 8192 bits depuis la +version 2.4.10 (voir RFC +3526), et les fournit aux clients en fonction de la longueur de la +clé du certificat RSA/DSA. En particulier avec les clients basés sur +Java (versions 7 et antérieures), ceci peut provoquer des erreurs au +cours de la négociation - voir cette réponse de la FAQ SSL pour +contourner les problèmes de ce genre. +

+
+ + +Paramètres DH par défaut lorsqu'on utilise plusieurs certificats et une +version d'OpenSSL antérieure à 1.0.2. +

+Lorsqu'on utilise plusieurs certificats pour supporter différents algorithmes +d'authentification (comme RSA, DSA, mais principalement ECC) et une +version d'OpenSSL antérieure à 1.0.2, il est recommandé soit d'utiliser des +paramètres DH spécifiques (solution à privilégier) en les ajoutant au premier +fichier certificat (comme décrit ci-dessus), soit d'ordonner les directives +SSLCertificateFile de façon à ce que les certificats +RSA/DSA soit placés après les certificats ECC. +

+

+Cette limitation est présente dans les anciennes versions d'OpenSSL qui +présentent toujours le dernier certificat configuré, au lieu +de laisser le serveur HTTP Apache déterminer le certificat sélectionné lors de +la phase de négociation de la connexion (lorsque les paramètres DH doivent être +envoyés à l'hôte distant). +De ce fait, le serveur peut sélectionner des paramètres DH par défaut basés sur +la longueur de la clé du mauvais certificat (les clés ECC sont beaucoup plus +petites que les clés RSA/DSA et leur longueur n'est pas pertinente pour la +sélection des nombres premiers DH). +

+

+Ce problème peut être résolu en créant et configurant des paramètres DH +spécifiques (comme décrit ci-dessus), car ils l'emportent toujours sur les +paramètres DH par défaut, et vous pourrez ainsi utiliser une longueur spécifique +et appropriée. +

+
+ +Exemple + +SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt + + +
+
+ + +SSLCertificateKeyFile +Fichier contenant la clé privée du serveur codée en +PEM +SSLCertificateKeyFile chemin-fichier +server config +virtual host + + +

+Cette directive permet de définir le fichier contenant la clé privée du +serveur codée en PEM. Si la clé privée est +chiffrée, une boîte de dialogue demandant le mot de passe de cette +dernière s'ouvre au démarrage du serveur.

+ +

+Cette directive peut être utilisée plusieurs fois pour référencer +différents noms de fichiers, afin de supporter plusieurs algorithmes +pour l'authentification du serveur. A chaque directive SSLCertificateKeyFile doit être associée +une directive SSLCertificateFile correspondante.

+ +

+La clé privé peut aussi être ajoutée au fichier défini par la directive +SSLCertificateFile, mais cette +pratique est fortement déconseillée. En effet, les fichiers de +certificats qui comportent une telle clé doivent être définis après les +certificats en utilisant un fichier de clé séparé.

+ +Exemple + +SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key + + +
+
+ + +SSLCertificateChainFile +Fichier contenant les certificats de CA du serveur codés en +PEM +SSLCertificateChainFile chemin-fichier +server config +virtual host + + +SSLCertificateChainFile est obsolète +

SSLCertificateChainFile est devenue obsolète avec la +version 2.4.8, lorsque la directive +SSLCertificateFile a été étendue +pour supporter aussi les certificats de CA intermédiaires dans le +fichier de certificats du serveur.

+
+ +

+Cette directive permet de définir le fichier optionnel +tout-en-un où vous pouvez rassembler les certificats des +Autorités de Certification (CA) qui forment la chaîne de certification +du certificat du serveur. Cette chaîne débute par le certificat de la CA +qui a délivré le certificat du serveur et peut remonter jusqu'au +certificat de la CA racine. Un tel fichier contient la simple +concaténation des différents certificats de CA codés en PEM, en général +dans l'ordre de la chaîne de certification.

+

Elle doit être utilisée à la place et/ou en complément de la +directive SSLCACertificatePath +pour construire explicitement la chaîne de certification du serveur qui +est envoyée au navigateur en plus du certificat du serveur. Elle s'avère +particulièrement utile pour éviter les conflits avec les certificats de +CA lorsqu'on utilise l'authentification du client. Comme le fait de +placer un certificat de CA de la chaîne de certification du serveur dans +la directive SSLCACertificatePath produit le même effet +pour la construction de la chaîne de certification, cette directive a +pour effet colatéral de faire accepter les certificats clients fournis +par cette même CA, au cours de l'authentification du client.

+

+Soyez cependant prudent : fournir la chaîne de certification ne +fonctionne que si vous utilisez un simple certificat de +serveur RSA ou DSA. Si vous utilisez une paire de certificats +couplés RSA+DSA , cela ne fonctionnera que si les deux certificats +utilisent vraiment la même chaîne de certification. Dans le cas +contraire, la confusion risque de s'installer au niveau des +navigateurs.

+Exemple + +SSLCertificateChainFile /usr/local/apache2/conf/ssl.crt/ca.crt + + +
+
+ + +SSLCACertificatePath +Répertoire des certificats de CA codés en PEM pour +l'authentification des clients +SSLCACertificatePath chemin-répertoire +server config +virtual host + + +

+Cette directive permet de définir le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les clients +auxquels vous avez à faire. On les utilise pour vérifier le certificat +du client au cours de l'authentification de ce dernier.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+Exemple + +SSLCACertificatePath /usr/local/apache2/conf/ssl.crt/ + + +
+
+ + +SSLCACertificateFile +Fichier contenant une concaténation des certificats de CA +codés en PEM pour l'authentification des clients +SSLCACertificateFile chemin-fichier +server config +virtual host + + +

+Cette directive permet de définir le fichier tout-en-un où vous +pouvez rassembler les certificats des Autorités de Certification (CAs) +pour les clients auxquels vous avez à faire. On les utilise pour +l'authentification des clients. Un tel fichier contient la simple +concaténation des différents fichiers de certificats codés en PEM, par +ordre de préférence. Cette directive peut être utilisée à la place et/ou +en complément de la directive SSLCACertificatePath.

+Exemple + +SSLCACertificateFile /usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt + + +
+
+ + +SSLCADNRequestFile +Fichier contenant la concaténation des certificats de CA +codés en PEM pour la définition de noms de CA acceptables +SSLCADNRequestFile chemin-fichier +server config +virtual host + + +

Lorsque mod_ssl demande un certificat client, une liste de noms +d'Autorités de Certification acceptables est envoyée au client au +cours de la phase d'initialisation de la connexion SSL. Le client peut +alors utiliser cette liste de noms de CA pour sélectionner un certificat +client approprié parmi ceux dont il dispose.

+ +

Si aucune des directives SSLCADNRequestPath ou SSLCADNRequestFile n'est définie, la liste +de noms de CsA acceptables envoyée au client est la liste des noms de +tous les certificats de CA spécifiés par les directives SSLCACertificateFile et SSLCACertificatePath ; en d'autres termes, +c'est la liste des noms de CAs qui sera effectivement utilisée pour +vérifier le certificat du client.

+ +

Dans certaines situations, il est utile de pouvoir envoyer +une liste de noms de CA acceptables qui diffère de la liste des CAs +effectivement utilisés pour vérifier le certificat du client ; +considérons par exemple le cas où le certificat du client est signé par +des CAs intermédiaires. On peut ici utiliser les directives SSLCADNRequestPath et/ou SSLCADNRequestFile, et les noms de CA +acceptables seront alors extraits de l'ensemble des certificats contenus +dans le répertoire et/ou le fichier définis par cette paire de +directives.

+ +

SSLCADNRequestFile doit +spécifier un fichier tou-en-un contenant une concaténation des +certificats de CA codés en PEM.

+ +Exemple + +SSLCADNRequestFile /usr/local/apache2/conf/ca-names.crt + + +
+
+ + +SSLCADNRequestPath +Répertoire contenant des fichiers de certificats de CA +codés en PEM pour la définition de noms de CA acceptables +SSLCADNRequestPath chemin-répertoire +server config +virtual host + + + +

Cette directive optionnelle permet de définir la liste de noms de +CAs acceptables qui sera envoyée au client lorsqu'un certificat de +client est demandé. Voir la directive SSLCADNRequestFile pour plus de +détails.

+ +

Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+Exemple + +SSLCADNRequestPath /usr/local/apache2/conf/ca-names.crt/ + + +
+
+ + +SSLCARevocationPath +Répertoire des CRLs de CA codés en PEM pour +l'authentification des clients +SSLCARevocationPath chemin-répertoire +server config +virtual host + + +

+Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les clients auxquels vous avez à faire. On les utilise pour +révoquer les certificats des clients au cours de l'authentification de +ces derniers.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+Exemple + +SSLCARevocationPath /usr/local/apache2/conf/ssl.crl/ + + +
+
+ + +SSLCARevocationFile +Fichier contenant la concaténation des CRLs des CA codés en +PEM pour l'authentification des clients +SSLCARevocationFile chemin-fichier +server config +virtual host + + +

+Cette directive permet de définir le fichier tout-en-un où sont +rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités +de certification (CAs) pour les clients auxquels vous avez à faire. On +les utilise pour l'authentification des clients. Un tel fichier contient +la simple concaténation des différents fichiers de CRLs codés en PEM, +dans l'ordre de préférence. Cette directive peut être utilisée à la +place et/ou en complément de la directive SSLCARevocationPath.

+Exemple + +SSLCARevocationFile /usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl + + +
+
+ + +SSLCARevocationCheck +Active la vérification des révocations basée sur les CRL +SSLCARevocationCheck chain|leaf|none flags +SSLCARevocationCheck none +server config +virtual host +Le paramètre optionnel flags est disponible à partir de +la version 2.5 du serveur HTTP Apache + + +

+Active la vérification des révocations basée sur les Listes de +Révocations de Certificats (CRL). Au moins une des directives SSLCARevocationFile ou SSLCARevocationPath doit être définie. +Lorsque cette directive est définie à chain (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur leaf limite +la vérification au certificat hors chaîne (la feuille). +

+ +Lorsque la directive est définie à <code>chain</code> ou +<code>leaf</code>, les CRLs doivent être disponibles pour que la +validation réussisse +

+Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL n'était trouvée dans les chemins +définis par les directives SSLCARevocationFile ou SSLCARevocationPath. Le comportement a +changé avec l'introduction de cette directive : lorsque la vérification +est activée, les CRLs doivent être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur "CRL introuvable". +

+
+ +

Les drapeaux disponibles sont :

+
    +
  • no_crl_for_cert_ok +

    + Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL pour le/les certificat(s) vérifié(s) n'était +trouvée dans les chemins définis par les directives SSLCARevocationFile ou SSLCARevocationPath. +

    +

    + Ce comportement a changé avec l'introduction de cette directive ; par défaut + avec chain ou leaf, les CRLs doivent être présents + pour que la validation réussisse ; si ce n'est pas le cas, elle échouera + avec une erreur "unable to get certificate CRL". +

    +

    + Le drapeau no_crl_for_cert_ok permet de rétablir le + comportement précédent. +

    +
  • +
+ +Exemple + +SSLCARevocationCheck chain + + +Compatibilité avec les versions 2.2 + +SSLCARevocationCheck chain no_crl_for_cert_ok + + +
+
+ + +SSLVerifyClient +Niveau de vérification du certificat client +SSLVerifyClient niveau +SSLVerifyClient none +server config +virtual host +directory +.htaccess +AuthConfig + + +

+Cette directive permet de définir le niveau de vérification du +certificat pour l'authentification du client. Notez que cette directive +peut être utilisée à la fois dans les contextes du serveur principal et +du répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec le +niveau de vérification du client spécifié, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.

+

+Les valeurs de niveau disponibles sont les suivantes :

+
    +
  • none: + aucun certificat client n'est requis
  • +
  • optional: + le client peut présenter un certificat valide
  • +
  • require: + le client doit présenter un certificat valide
  • +
  • optional_no_ca: + le client peut présenter un certificat valide, mais il n'est pas + nécessaire que ce dernier soit vérifiable (avec succès). Cette option ne + peut pas être utilisée lors de l'authentification du client.
  • +
+Exemple + +SSLVerifyClient require + + +
+
+ + +SSLVerifyDepth +Profondeur maximale des certificats de CA pour la +vérification des certificats clients +SSLVerifyDepth nombre +SSLVerifyDepth 1 +server config +virtual host +directory +.htaccess +AuthConfig + + +

+Cette directive permet de spécifier la profondeur maximale à laquelle +mod_ssl va effectuer sa vérification avant de décider que le client ne +possède pas de certificat valide. Notez que cette directive peut être +utilisée à la fois dans les contextes du serveur principal et de +répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec la +profondeur vérification du client spécifiée, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.

+

+La profondeur correspond au nombre maximum de fournisseurs de +certificats intermédiaires, c'est à dire le nombre maximum de +certificats de CA que l'on est autorisé à suivre lors de la vérification +du certificat du client. Une profondeur de 0 signifie que seuls les +certificats clients auto-signés sont acceptés ; la profondeur par défaut +de 1 signifie que le certificat client peut être soit auto-signé, soit +signé par une CA connue directement du serveur (c'est à dire que le +certificat de la CA doit être référencé par la directive SSLCACertificatePath), etc...

+Exemple + +SSLVerifyDepth 10 + + +
+
+ + +SSLSRPVerifierFile +Chemin du fichier de vérification SRP +SSLSRPVerifierFile file-path +server config +virtual host +Disponible depuis la version 2.4.4 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure. + + +

+Cette directive permet d'activer TLS-SRP et de définir le chemin du +fichier de vérification OpenSSL SRP (Mot de passe distant sécurisé) +contenant les noms d'utilisateurs TLS-SRP, les vérificateurs, les +"grains de sel" (salts), ainsi que les paramètres de groupe.

+Exemple +SSLSRPVerifierFile "/path/to/file.srpv" + +

+Le fichier de vérification peut être créé via l'utilitaire en ligne de +commande openssl :

+Création du fichier de vérification SRP +openssl srp -srpvfile passwd.srpv -userinfo "some info" -add username + +

La valeur affectée au paramètre optionnel -userinfo est +enregistrée dans la variable d'environnement +SSL_SRP_USERINFO.

+ +
+
+ + +SSLSRPUnknownUserSeed +Source de randomisation pour utilisateur SRP inconnu +SSLSRPUnknownUserSeed secret-string +server config +virtual host +Disponible depuis la version 2.4.4 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure. + + +

+Cette directive permet de définir la source de randomisation à utiliser +pour les utilisateurs SRP inconnus, ceci afin de combler les manques en +cas d'existence d'un tel utilisateur. Elle définit une chaîne secrète. Si +cette directive n'est pas définie, Apache renverra une alerte +UNKNOWN_PSK_IDENTITY aux clients qui fournissent un nom d'utilisateur +inconnu. +

+Exemple +SSLSRPUnknownUserSeed "secret" + +
+
+ + +SSLOptions +Configure différentes options d'exécution du moteur +SSL +SSLOptions [+|-]option ... +server config +virtual host +directory +.htaccess +Options + + +

+Cette directive permet de contrôler différentes options d'exécution du +moteur SSL dans un contexte de répertoire. Normalement, si plusieurs +SSLOptions peuvent s'appliquer à un répertoire, c'est la +plus spécifique qui est véritablement prise en compte ; les options ne +se combinent pas entre elles. Elles se combinent cependant entre elles +si elles sont toutes précédées par un symbole plus +(+) ou moins (-). Toute option précédée d'un ++ est ajoutée aux options actuellement en vigueur, et toute +option précédée d'un - est supprimée de ces mêmes +options. +

+

+Les options disponibles sont :

+
    +
  • StdEnvVars +

    + Lorsque cette option est activée, le jeu standard de variables + d'environnement SSL relatives à CGI/SSI est créé. Cette option est + désactivée par défaut pour des raisons de performances, car + l'extraction des informations constitue une opération assez coûteuse + en ressources. On n'active donc en général cette option que pour les + requêtes CGI et SSI.

    +
  • +
  • ExportCertData +

    + Lorsque cette option est activée, des variables d'environnement + CGI/SSI supplémentaires sont créées : SSL_SERVER_CERT, + SSL_CLIENT_CERT et + SSL_CLIENT_CERT_CHAIN_n (avec n = + 0,1,2,..). Elles contiennent les certificats X.509 codés en PEM du + serveur et du client pour la connexion HTTPS courante, et peuvent + être utilisées par les scripts CGI pour une vérification de + certificat plus élaborée. De plus, tous les autres certificats de la + chaîne de certificats du client sont aussi fournis. Tout ceci gonfle + un peu l'environnement, et c'est la raison pour laquelle vous ne + devez activer cette option qu'à la demande.

    +
  • +
  • FakeBasicAuth +

    + Lorsque cette option est activée, le Nom Distinctif (DN) sujet du + certificat client X509 est traduit en un nom d'utilisateur pour + l'autorisation HTTP de base. Cela signifie que les méthodes + d'authentification standard d'Apache peuvent être utilisées pour le + contrôle d'accès. Le nom d'utilisateur est tout simplement le Sujet + du certificat X509 du client (il peut être déterminé en utilisant la + commande OpenSSL openssl x509 : openssl x509 + -noout -subject -in certificat.crt). La + directive optionnelle SSLUserName permet de spécifier quelle + partie du sujet du certificat est incluse dans le nom d'utilisateur. + Notez qu'aucun mot de passe n'est envoyé par l'utilisateur. Chaque + entrée du fichier des utilisateurs doit comporter ce mot de passe : + ``xxj31ZMTZzkVA'', qui est la version chiffrée en DES + du mot ``password''. Ceux qui travaillent avec un + chiffrement basé sur MD5 (par exemple sous FreeBSD ou BSD/OS, + etc...) doivent utiliser le condensé MD5 suivant pour le même mot : + ``$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/''.

    + +

    Notez que la directive AuthBasicFake du module + mod_auth_basic permet de contrôler à la + fois le nom d'utilisateur et le mot de passe ; elle fournit donc un + mécanisme plus général de simulation d'authentification de base.

    +
  • +
  • StrictRequire +

    + Cette option force l'interdiction d'accès lorsque + SSLRequireSSL ou SSLRequire a décidé que + l'accès devait être interdit. Par défaut, dans le cas où + une directive ``Satisfy any'' est utilisée, et si + d'autres restrictions d'accès ont été franchies, on passe en général + outre l'interdiction d'accès due à SSLRequireSSL ou + SSLRequire (parce que c'est ainsi que le mécanisme + Satisfy d'Apache doit fonctionner). Pour des + restrictions d'accès plus strictes, vous pouvez cependant utiliser + SSLRequireSSL et/ou SSLRequire en + combinaison avec une option ``SSLOptions + +StrictRequire''. Une directive ``Satisfy Any'' + n'a alors aucune chance d'autoriser l'accès si mod_ssl a décidé de + l'interdire.

    +
  • +
  • OptRenegotiate +

    + Cette option active la gestion optimisée de la renégociation des + connexions SSL intervenant lorsque les directives SSL sont utilisées + dans un contexte de répertoire. Par défaut un schéma strict est + appliqué, et chaque reconfiguration des paramètres SSL au + niveau du répertoire implique une phase de renégociation SSL + complète. Avec cette option, mod_ssl essaie d'éviter les + échanges non nécessaires en effectuant des vérifications de + paramètres plus granulaires (mais tout de même efficaces). + Néanmoins, ces vérifications granulaires peuvent ne pas correspondre + à ce qu'attend l'utilisateur, et il est donc recommandé de n'activer + cette option que dans un contexte de répertoire.

    +
  • +
  • LegacyDNStringFormat +

    + Cette option permet d'agir sur la manière dont les valeurs des + variables SSL_{CLIENT,SERVER}_{I,S}_DN sont formatées. + Depuis la version 2.3.11, Apache HTTPD utilise par défaut un format + compatible avec la RFC 2253. Ce format utilise des virgules comme + délimiteurs entre les attributs, permet l'utilisation de caractères + non-ASCII (qui sont alors convertis en UTF8), échappe certains + caractères spéciaux avec des slashes inversés, et trie les attributs + en plaçant l'attribut "C" en dernière position.

    + +

    Si l'option LegacyDNStringFormat est présente, c'est + l'ancien format qui sera utilisé : les attributs sont triés avec + l'attribut "C" en première position, les séparateurs sont des + slashes non inversés, les caractères non-ASCII ne sont pas supportés + et le support des caractères spéciaux n'est pas fiable. +

    +
  • +
+Exemple + +SSLOptions +FakeBasicAuth -StrictRequire +<Files ~ "\.(cgi|shtml)$"> + SSLOptions +StdEnvVars -ExportCertData +</Files> + + +
+
+ + +SSLRequireSSL +Interdit l'accès lorsque la requête HTTP n'utilise pas +SSL +SSLRequireSSL +directory +.htaccess +AuthConfig + + +

+Cette directive interdit l'accès si HTTP sur SSL (c'est à dire HTTPS) +n'est pas activé pour la connexion courante. Ceci est très pratique dans +un serveur virtuel où SSL est activé ou dans un répertoire pour se +protéger des erreurs de configuration qui pourraient donner accès à des +ressources protégées. Lorsque cette directive est présente, toutes les +requêtes qui n'utilisent pas SSL sont rejetées.

+Exemple + +SSLRequireSSL + + +
+
+ + +SSLRequire +N'autorise l'accès que lorsqu'une expression booléenne +complexe et arbitraire est vraie +SSLRequire expression +directory +.htaccess +AuthConfig + + +SSLRequire is obsolète +

SSLRequire est obsolète et doit en général être +remplacée par l'expression Require. La syntaxe ap_expr de l'expression Require est +une extension de la syntaxe de SSLRequire, avec les +différences suivantes :

+ +

Avec SSLRequire, les opérateurs de comparaison +<, <=, ... sont strictement équivalents +aux opérateurs lt, le, ... , et fonctionnent +selon une méthode qui compare tout d'abord la longueur des deux chaînes, +puis l'ordre alphabétique. Les expressions ap_expr, quant à elles, possèdent deux jeux +d'opérateurs de comparaison : les opérateurs <, +<=, ... effectuent une comparaison alphabétique de +chaînes, alors que les opérateurs -lt, -le, +... effectuent une comparaison d'entiers. Ces derniers possèdent aussi +des alias sans tiret initial : lt, le, ... +

+ +
+ +

Cette directive permet de spécifier une condition générale d'accès +qui doit être entièrement satisfaite pour que l'accès soit autorisé. +C'est une directive très puissante, car la condition d'accès spécifiée +est une expression booléenne complexe et arbitraire contenant un nombre +quelconque de vérifications quant aux autorisations d'accès.

+

+L'expression doit respecter la syntaxe suivante (fournie ici +sous la forme d'une notation dans le style de la grammaire BNF) :

+
+
+expr     ::= "true" | "false"
+           | "!" expr
+           | expr "&&" expr
+           | expr "||" expr
+           | "(" expr ")"
+           | comp
+
+comp     ::= word "==" word | word "eq" word
+           | word "!=" word | word "ne" word
+           | word "<"  word | word "lt" word
+           | word "<=" word | word "le" word
+           | word ">"  word | word "gt" word
+           | word ">=" word | word "ge" word
+           | word "in" "{" wordlist "}"
+           | word "in" "PeerExtList(" word ")"
+           | word "=~" regex
+           | word "!~" regex
+
+wordlist ::= word
+           | wordlist "," word
+
+word     ::= digit
+           | cstring
+           | variable
+           | function
+
+digit    ::= [0-9]+
+cstring  ::= "..."
+variable ::= "%{" varname "}"
+function ::= funcname "(" funcargs ")"
+
+
+

Pour varname, toute variable décrite dans Variables d'environnement pourra être utilisée. +Pour funcname, vous trouverez la liste des fonctions +disponibles dans la documentation +ap_expr.

+ +

expression est interprétée et traduite +sous une forme machine interne lors du chargement de la configuration, +puis évaluée lors du traitement de la requête. Dans le contexte des +fichiers .htaccess, expression est interprétée et exécutée +chaque fois que le fichier .htaccess intervient lors du traitement de la +requête.

+Exemple + +SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \ + and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ + and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ + and %{TIME_WDAY} -ge 1 and %{TIME_WDAY} -le 5 \ + and %{TIME_HOUR} -ge 8 and %{TIME_HOUR} -le 20 ) \ + or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ + + + + +

La fonction PeerExtList(identifiant objet) +recherche une instance d'extension de certificat X.509 identifiée par +identifiant objet (OID) dans le certificat client. L'expression est +évaluée à true si la partie gauche de la chaîne correspond exactement à +la valeur d'une extension identifiée par cet OID (Si plusieurs +extensions possèdent le même OID, l'une d'entre elles au moins doit +correspondre). +

+ +Exemple + +SSLRequire "foobar" in PeerExtList("1.2.3.4.5.6") + + + +Notes à propos de la fonction PeerExtList + +
    + +
  • L'identifiant objet peut être spécifié soit comme un nom +descriptif reconnu par la bibliothèque SSL, tel que +"nsComment", soit comme un OID numérique tel que +"1.2.3.4.5.6".

  • + +
  • Les expressions contenant des types connus de la bibliothèque +SSL sont transformées en chaînes avant comparaison. Pour les extensions +contenant un type non connu de la bibliothèque SSL, mod_ssl va essayer +d'interpréter la valeur s'il s'agit d'un des types ASN.1 primaire UTF8String, +IA5String, VisibleString, ou BMPString. Si l'extension correspond à un +de ces types, la chaîne sera convertie en UTF-8 si nécessaire, puis +comparée avec la partie gauche de l'expression.

  • + +
+
+ +
+Les variables d'environnement dans le +serveur HTTP Apache, pour d'autres exemples. + +Require expr +Syntaxe générale des expressions dans le +serveur HTTP Apache + +
+ + +SSLRenegBufferSize +Définit la taille du tampon de renégociation +SSL +SSLRenegBufferSize taille +SSLRenegBufferSize 131072 +directory +.htaccess +AuthConfig + + + +

Si une renégociation SSL est requise dans un contexte de répertoire, +par exemple avec l'utilisation de SSLVerifyClient dans un bloc Directory ou +Location, mod_ssl doit mettre en tampon en mémoire tout corps de requête +HTTP en attendant qu'une nouvelle initialisation de connexion SSL puisse +être effectuée. Cette directive permet de définir la quantité de mémoire +à allouer pour ce tampon.

+ +

+Notez que dans de nombreuses configurations, le client qui envoie un +corps de requête n'est pas forcément digne de confiance, et l'on doit +par conséquent prendre en considération la possibilité d'une attaque de +type déni de service lorsqu'on modifie la valeur de cette directive. +

+ +Exemple + +SSLRenegBufferSize 262144 + + +
+
+ + +SSLStrictSNIVHostCheck +Contrôle de l'accès des clients non-SNI à un serveur virtuel à +base de nom. + +SSLStrictSNIVHostCheck on|off +SSLStrictSNIVHostCheck off +server config +virtual host + + +

+Cette directive permet de contrôler l'accès des clients non-SNI à un serveur +virtuel à base de nom. Si elle est définie à on dans le +serveur virtuel à base de nom par défaut, les +clients non-SNI ne seront autorisés à accéder à aucun serveur virtuel +appartenant à cette combinaison IP/port. Par +contre, si elle est définie à on dans un serveur virtuel +quelconque, les clients non-SNI ne se verront interdire l'accès qu'à ce +serveur. +

+ +

+Cette option n'est disponible que si httpd a été compilé avec une +version d'OpenSSL supportant SNI. +

+ +Exemple + +SSLStrictSNIVHostCheck on + + +
+
+ + +SSLProxyMachineCertificatePath +Répertoire des clés et certificats clients codés en PEM que +le mandataire doit utiliser +SSLProxyMachineCertificatePath chemin-répertoire +server config virtual host +proxy section +Sans objet + + +

+Cette directive permet de définir le répertoire où sont stockés les clés +et certificats permettant au serveur mandataire de s'authentifier auprès +des serveurs distants. +

+

Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Vous +devez donc aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+ +

Actuellement, les clés privées chiffrées ne sont pas supportées.

+
+Exemple + +SSLProxyMachineCertificatePath /usr/local/apache2/conf/proxy.crt/ + + +
+
+ + + +SSLProxyMachineCertificateFile +Fichier contenant la concaténation des clés et certificats +clients codés en PEM que le mandataire doit utiliser +SSLProxyMachineCertificateFile chemin-fichier +server config virtual host +proxy section +Sans objet + + +

+Cette directive permet de définir le fichier tout-en-un où sont stockés +les clés et certificats permettant au serveur mandataire de +s'authentifier auprès des serveurs distants. +

+

+Le fichier spécifié est la simple concaténation des différents fichiers +de certificats codés en PEM, classés par ordre de préférence. Cette +directive s'utilise à la place ou en complément de la directive +SSLProxyMachineCertificatePath. +

+ +

Actuellement, les clés privées chiffrées ne sont pas supportées.

+
+Exemple + +SSLProxyMachineCertificateFile /usr/local/apache2/conf/ssl.crt/proxy.pem + + +
+
+ + +SSLProxyMachineCertificateChainFile +Fichier de certificats de CA encodés PEM concaténés permettant au +mandataire de choisir un certificat +SSLProxyMachineCertificateChainFile nom-fichier +server config virtual host +proxy section +Sans objet + + +

+Cette directive permet de définir le fichier global où est enregistrée +la chaîne de certification pour tous les certificats clients utilisés. +Elle est nécessaire si le serveur distant présente une liste de +certificats de CA qui ne sont pas les signataires directs d'un des +certificats clients configurés. +

+

+Ce fichier contient tout simplement la concaténation des différents +fichiers de certificats encodés PEM. Au démarrage, chaque certificat +client configuré est examiné et une chaîne de certification est +construite. +

+Avertissement en matière de sécurité +

Si cette directive est définie, tous les certificats contenus dans le +fichier spécifié seront considérés comme étant de confiance, comme s'ils +étaient aussi désignés dans la directive SSLProxyCACertificateFile.

+
+Exemple + +SSLProxyMachineCertificateChainFile /usr/local/apache2/conf/ssl.crt/proxyCA.pem + + +
+
+ + +SSLProxyVerify +Niveau de vérification du certificat du serveur +distant +SSLProxyVerify niveau +SSLProxyVerify none +server config virtual host +proxy section +Not applicable + + + +

Lorsqu'un mandataire est configuré pour faire suivre les requêtes +vers un serveur SSL distant, cette directive permet de configurer la +vérification du certificat de ce serveur distant.

+ +

+Les valeurs de niveaux disponibles sont les suivantes :

+
    +
  • none: + aucun certificat n'est requis pour le serveur distant
  • +
  • optional: + le serveur distant peut présenter un certificat valide
  • +
  • require: + le serveur distant doit présenter un certificat valide
  • +
  • optional_no_ca: + le serveur distant peut présenter un certificat valide
    + mais il n'est pas nécessaire qu'il soit vérifiable (avec succès).
  • +
+

En pratique, seuls les niveaux none et +require sont vraiment intéressants, car le niveau +optional ne fonctionne pas avec tous les serveurs, et +le niveau optional_no_ca va tout à fait à l'encontre de +l'idée que l'on peut se faire de l'authentification (mais peut tout de +même être utilisé pour établir des pages de test SSL, etc...) + +In practice only levels none and +require are really interesting, because level +optional doesn't work with all servers and level +optional_no_ca is actually against the idea of +authentication (but can be used to establish SSL test pages, etc.)

+Exemple + +SSLProxyVerify require + + +
+
+ + +SSLProxyVerifyDepth +Niveau de profondeur maximum dans les certificats de CA +lors de la vérification du certificat du serveur distant +SSLProxyVerifyDepth niveau +SSLProxyVerifyDepth 1 +server config virtual host +proxy section +Not applicable + + +

+Cette directive permet de définir le niveau de profondeur maximum +jusqu'auquel mod_ssl doit aller au cours de sa vérification avant de +décider que le serveur distant ne possède pas de certificat valide.

+

+La profondeur correspond en fait au nombre maximum de fournisseurs de +certificats intermédiaires, c'est à dire le nombre maximum de +certificats +de CA que l'on peut consulter lors de la vérification du certificat du +serveur distant. Une profondeur de 0 signifie que seuls les certificats +de serveurs distants auto-signés sont acceptés, et la profondeur par +défaut de 1 que le certificat du serveur distant peut être soit +auto-signé, soit signé par une CA connue directement du serveur (en +d'autres termes, le certificat de CA est référencé par la directive +SSLProxyCACertificatePath), +etc...

+Exemple + +SSLProxyVerifyDepth 10 + + +
+
+ + +SSLProxyCheckPeerExpire +Configuration de la vérification de l'expiration du +certificat du serveur distant + +SSLProxyCheckPeerExpire on|off +SSLProxyCheckPeerExpire on +server config virtual host +proxy section +Not applicable + + +

+Cette directive permet de définir si l'expiration du certificat du +serveur distant doit être vérifiée ou non. Si la vérification échoue, un +code d'état 502 (Bad Gateway) est envoyé. +

+Exemple + +SSLProxyCheckPeerExpire on + + +
+
+ + +SSLProxyCheckPeerCN +Configuration de la vérification du champ CN du certificat +du serveur distant + +SSLProxyCheckPeerCN on|off +SSLProxyCheckPeerCN on +server config virtual host +proxy section +Not applicable + + +

+Cette directive permet de définir si le champ CN du certificat +du serveur distant doit être comparé au nom de serveur de l'URL de la +requête. S'ils ne correspondent pas, un +code d'état 502 (Bad Gateway) est envoyé. A partir de la version 2.4.5, la +directive SSLProxyCheckPeerName +l'emporte sur la directive SSLProxyCheckPeerCN. +

+

+De la version 2.4.5 à la version 2.4.20, spécifier SSLProxyCheckPeerName +off était suffisant pour activer cette fonctionnalité (étant donné que la +valeur par défaut de la directive SSLProxyCheckPeerCN était +on). Avec ces mêmes versions, les deux directives devaient être +définies à off pour éviter la validation du nom de certificat du +serveur distant. De nombreux utilisateurs ont signalé ce comportement comme +étant source de confusion. +

+

+A partir de la version 2.4.21, toute configuration qui active une des +deux options SSLProxyCheckPeerName ou +SSLProxyCheckPeerCN adopte le nouveau comportement de la +directive SSLProxyCheckPeerName, alors +que toute configuration qui désactive une des options +SSLProxyCheckPeerName ou SSLProxyCheckPeerCN supprime +toute validation du nom de certificat du serveur distant. Seule la configuration +suivante peut rétablir le comportement traditionnel en matière de comparaison +des CN de certificats dans les versions 2.4.21 et ultérieures. +

+Exemple + +SSLProxyCheckPeerCN on +SSLProxyCheckPeerName off + + +
+
+ + +SSLProxyCheckPeerName +Configure la vérification du nom d'hôte pour les +certificats serveur distant + +SSLProxyCheckPeerName on|off +SSLProxyCheckPeerName on +server config virtual host +proxy section +Not applicable +Disponible à partir de la version 2.4.5 du serveur HTTP +Apache + + +

+Cette directive permet de configurer la vérification du nom d'hôte pour +les certificats serveur lorsque mod_ssl agit en tant que client SSL. La +vérification réussit si le nom d'hôte de l'URI de la requête correspond à un +des attributs CN du sujet du certificat, ou à l'extension subjectAltName. Si la +vérification échoue, la requête SSL +avorte, et un code d'erreur 502 (Bad Gateway) est renvoyé. +

+

+Les caractères génériques sont supportés dans certains cas bien spécifiques : +une entrée subjectAltName de type dNSName ou les attributs CN +commençant par *. correspondront à tout nom d'hôte comportant +le même nombre de champs et le même suffixe ; par exemple, +*.example.org correspondra à foo.example.org, +mais pas à foo.bar.example.org car le nombre d'éléments dans les +nom est différent. +

+

+Cette fonctionnalité a été introduite avec la version 2.4.5 et l'emporte sur la +directive SSLProxyCheckPeerCN qui ne +comparait que la valeur exacte du premier attribut CN avec le nom d'hôte. +Cependant, de nombreux utilisateurs étaient déconcertés par le comportement +induit par l'utilisation de ces deux directives individuellement, si bien que ce +comportement a été amélioré avec la version 2.4.21. Voir la description de la +directive SSLProxyCheckPeerCN pour le +comportement original et des détails à propos de ces améliorations. +

+
+
+ + +SSLProxyEngine +Interrupteur marche/arrêt du moteur de mandataire +SSL +SSLProxyEngine on|off +SSLProxyEngine off +server config virtual host +proxy section +Not applicable + + +

+Cette directive permet d'activer/désactiver l'utilisation du moteur de +protocole SSL/TLS pour le mandataire. On l'utilise en général à +l'intérieur d'une section VirtualHost pour activer le protocole SSL/TLS +dans le cadre d'un mandataire pour un serveur virtuel particulier. Par +défaut, le moteur de protocole SSL/TLS est désactivé pour la fonction de +mandataire du serveur principal et de tous les serveurs virtuels +configurés.

+ +

Notez que la directive SSLProxyEngine ne doit +généralement pas être utilisée dans le cadre d'un serveur virtuel qui agit en +tant que mandataire direct (via les directives Proxy ou ProxyRequests). +SSLProxyEngine n'est pas nécessaire pour activer un +serveur mandataire direct pour les requêtes SSL/TLS.

+ +Exemple + +<VirtualHost _default_:443> + SSLProxyEngine on + #... +</VirtualHost> + + +
+
+ + +SSLProxyProtocol +Définit les protocoles SSL disponibles pour la fonction de +mandataire +SSLProxyProtocol [+|-]protocole ... +SSLProxyProtocol all -SSLv3 +server config virtual host +proxy section +Not applicable + + + +

+Cette directive permet de définir les protocoles SSL que mod_ssl peut +utiliser lors de l'élaboration de son environnement de serveur pour la +fonction de mandataire. Il ne se connectera qu'aux serveurs utilisant un +des protocoles spécifiés.

+

Veuillez vous reporter à la directive SSLProtocol pour plus d'informations. +

+
+
+ + +SSLProxyCipherSuite +Algorithmes de chiffrement disponibles pour la négociation +lors de l'initialisation d'une connexion SSL de mandataire +SSLProxyCipherSuite algorithmes +SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP +server config virtual host +proxy section +Not applicable + + +

Cette directive est équivalente à la directive SSLCipherSuite, mais s'applique à une connexion de +mandataire. Veuillez vous reporter à la directive SSLCipherSuite pour plus d'informations.

+
+ +
+ +SSLProxyCACertificatePath +Répertoire des certificats de CA codés en PEM pour +l'authentification des serveurs distants +SSLProxyCACertificatePath chemin-répertoire +server config virtual host +proxy section +Not applicable + + +

+Cette directive permet de spécifier le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les serveurs +distants auxquels vous avez à faire. On les utilise pour vérifier le +certificat du serveur distant lors de l'authentification de ce +dernier.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de certificats dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.N, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+Exemple + +SSLProxyCACertificatePath /usr/local/apache2/conf/ssl.crt/ + + +
+
+ + +SSLProxyCACertificateFile +Fichier contenant la concaténation des certificats de CA +codés en PEM pour l'authentification des serveurs distants +SSLProxyCACertificateFile file-path +server config virtual host +proxy section +Not applicable + + +

+Cette directive permet de définir le fichier tout-en-un où sont +stockés les certificats des Autorités de Certification (CA) pour les +serveurs distants auxquels vous avez à faire. On les utilise +lors de l'authentification du serveur distant. Un tel fichier contient +la simple concaténation des différents fichiers de certificats codés en +PEM, classés par ordre de préférence. On peut utiliser cette directive à +la place et/ou en complément de la directive SSLProxyCACertificatePath.

+Exemple + +SSLProxyCACertificateFile +/usr/local/apache2/conf/ssl.crt/ca-bundle-serveur.distant.crt + + +
+
+ + +SSLProxyCARevocationPath +Répertoire des CRLs de CA codés en PEM pour +l'authentification des serveurs distants +SSLProxyCARevocationPath chemin-répertoire +server config virtual host +proxy section +Not applicable + + +

+Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les serveurs distants auxquels vous avez à faire. On les +utilise pour révoquer les certificats des serveurs distants au cours de +l'authentification de ces derniers.

+

+Les fichiers de ce répertoire doivent être codés en PEM et ils sont +accédés via des noms de fichier sous forme de condensés ou hash. Il ne +suffit donc pas de placer les fichiers de CRL dans ce répertoire +: vous devez aussi créer des liens symboliques nommés +valeur-de-hashage.rN, et vous devez toujours vous +assurer que ce répertoire contient les liens symboliques appropriés.

+Exemple + +SSLProxyCARevocationPath /usr/local/apache2/conf/ssl.crl/ + + +
+
+ + +SSLProxyCARevocationFile +Fichier contenant la concaténation des CRLs de CA codés en +PEM pour l'authentification des serveurs distants +SSLProxyCARevocationFile chemin-fichier +server config virtual host +proxy section +Not applicable + + +

+Cette directive permet de définir le fichier tout-en-un où sont +rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités +de certification (CAs) pour les serveurs distants auxquels vous +avez à faire. On les utilise pour l'authentification des serveurs +distants. Un tel fichier contient la simple concaténation des différents +fichiers de CRLs codés en PEM, classés par ordre de préférence. Cette +directive peut être utilisée à la place et/ou en complément de la +directive SSLProxyCARevocationPath.

+Exemple + +SSLProxyCARevocationFile +/usr/local/apache2/conf/ssl.crl/ca-bundle-serveur.distant.crl + + +
+
+ + +SSLProxyCARevocationCheck +Active la vérification des révocations basée sur les CRLs +pour l'authentification du serveur distant +SSLProxyCARevocationCheck chain|leaf|none +SSLProxyCARevocationCheck none +server config virtual host +proxy section +Not applicable + + +

+Active la vérification des révocations basée sur les Listes de +révocations de Certificats (CRL) pour les serveurs distants +auxquels vous vous connectez. A moins une des directives SSLProxyCARevocationFile ou SSLProxyCARevocationPath doit être définie. +Lorsque cette directive est définie à chain (valeur +recommandée), les vérifications CRL sont effectuées sur tous les +certificats de la chaîne, alors que la valeur leaf limite +la vérification au certificat hors chaîne (la feuille). +

+ +Lorsque la directive est définie à <code>chain</code> ou +<code>leaf</code>, les CRLs doivent être disponibles pour que la +validation réussisse +

+Avant la version 2.3.15, les vérifications CRL dans mod_ssl +réussissaient même si aucune CRL n'était trouvée dans les chemins +définis par les directives SSLProxyCARevocationFile ou SSLProxyCARevocationPath. Le comportement a +changé avec l'introduction de cette directive : lorsque la vérification +est activée, les CRLs doivent être présentes pour que la +validation réussisse ; dans le cas contraire, elle échouera avec une +erreur "CRL introuvable". +

+
+Exmple + +SSLProxyCARevocationCheck chain + + +
+
+ + +SSLUserName +Nom de la variable servant à déterminer le nom de +l'utilisateur +SSLUserName nom-var +server config +directory +.htaccess +AuthConfig + + +

+Cette variable permet de définir le champ "user" de l'objet de la +requête Apache. Ce champ est utilisé par des modules de plus bas niveau +pour identifier l'utilisateur avec une chaîne de caractères. En +particulier, l'utilisation de cette directive peut provoquer la +définition de la variable d'environnement REMOTE_USER. +La valeur de l'argument nom-var peut correspondre à toute variable d'environnement SSL.

+ +

Lorsque l'option FakeBasicAuth est activée, cette +directive contrôle la valeur du nom d'utilisateur contenue dans +l'en-tête d'authentification de base (voir SSLOptions).

+ +Exemple + +SSLUserName SSL_CLIENT_S_DN_CN + + +
+
+ + +SSLHonorCipherOrder +Option permettant de classer les algorithmes de chiffrement +du serveur par ordre de préférence +SSLHonorCipherOrder on|off +SSLHonorCipherOrder off +server config +virtual host + + +

Normalement, ce sont les préférences du client qui sont prises en +compte lors du choix d'un algorithme de chiffrement au cours d'une +négociation SSLv3 ou TLSv1. Si cette directive est activée, ce sont les +préférences du serveur qui seront prises en compte à la place.

+Exemple + +SSLHonorCipherOrder on + + +
+
+ + +SSLCryptoDevice +Active l'utilisation d'un accélérateur matériel de +chiffrement +SSLCryptoDevice moteur +SSLCryptoDevice builtin +server config + + +

+Cette directive permet d'activer l'utilisation d'une carte accélératrice +de chiffrement qui prendra en compte certaines parties du traitement +relatif à SSL. Cette directive n'est utilisable que si la boîte à +outils SSL à été compilée avec le support "engine" ; les versions 0.9.7 +et supérieures d'OpenSSL possèdent par défaut le support "engine", alors +qu'avec la version 0.9.6, il faut utiliser les distributions séparées +"-engine".

+ +

Pour déterminer les moteurs supportés, exécutez la commande +"openssl engine".

+ +Exemple + +# Pour un accélérateur Broadcom : +SSLCryptoDevice ubsec + + +
+
+ + +SSLOCSPEnable +Active la validation OCSP de la chaîne de certificats du +client +SSLOCSPEnable on|off +SSLOCSPEnable off +server config +virtual host + + +

Cette directive permet d'activer la validation OCSP de la chaîne de +certificats du client. Si elle est activée, les certificats de la chaîne +de certificats du client seront validés auprès d'un répondeur OCSP, une +fois la vérification normale effectuée (vérification des CRLs +incluse).

+ +

Le répondeur OCSP utilisé est soit extrait du certificat lui-même, +soit spécifié dans la configuration ; voir les directives SSLOCSPDefaultResponder et SSLOCSPOverrideResponder.

+ +Exemple + +SSLVerifyClient on +SSLOCSPEnable on +SSLOCSPDefaultResponder http://responder.example.com:8888/responder +SSLOCSPOverrideResponder on + + +
+
+ + +SSLOCSPDefaultResponder +Définit l'URI du répondeur par défaut pour la validation +OCSP +SSLOCSDefaultResponder uri +server config +virtual host + + +

Cette directive permet de définir le répondeur OCSP par défaut. Si la +directive SSLOCSPOverrideResponder n'est pas activée, +l'URI spécifié ne sera utilisé que si aucun URI de répondeur n'est +spécifié dans le certificat en cours de vérification.

+
+
+ + +SSLOCSPOverrideResponder +Force l'utilisation de l'URI du répondeur par défaut pour +la validation OCSP +SSLOCSPOverrideResponder on|off +SSLOCSPOverrideResponder off +server config +virtual host + + +

Force l'utilisation, au cours d'une validation OCSP de certificat, du +répondeur OCSP par défaut spécifié dans la configuration, que le +certificat en cours de vérification fasse mention d'un répondeur OCSP ou +non.

+
+
+ + +SSLOCSPResponseTimeSkew +Dérive temporelle maximale autorisée pour la validation des +réponses OCSP +SSLOCSPResponseTimeSkew secondes +SSLOCSPResponseTimeSkew 300 +server config +virtual host + + +

Cette option permet de définir la dérive temporelle maximale +autorisée pour les réponses OCSP (lors de la vérification des champs +thisUpdate et nextUpdate).

+
+
+ + +SSLOCSPResponseMaxAge +Age maximum autorisé pour les réponses OCSP +SSLOCSPResponseMaxAge secondes +SSLOCSPResponseMaxAge -1 +server config +virtual host + + +

Cette option permet de définir l'âge maximum autorisé (la +"fraicheur") des réponses OCSP. La valeur par défault (-1) +signifie qu'aucun âge maximum n'est définit ; autrement dit, les +réponses OCSP sont considérées comme valides tant que la valeur de leur +champ nextUpdate se situe dans le futur.

+
+
+ + +SSLOCSPResponderTimeout +Délai d'attente pour les requêtes OCSP +SSLOCSPResponderTimeout secondes +SSLOCSPResponderTimeout 10 +server config +virtual host + + +

Cette option permet de définir le délai d'attente pour les requêtes à +destination des répondeurs OCSP, lorsque la directive SSLOCSPEnable est à on.

+
+
+ + +SSLOCSPUseRequestNonce +Utilisation d'un nombre à usage unique au sein des requêtes +OCSP +SSLOCSPUseRequestNonce on|off +SSLOCSPUseRequestNonce on +server config +virtual host +Disponible à partir de la version 2.4.10 du serveur HTTP +Apache + + +

Cette directive permet de spécifier si les requêtes vers les +répondeurs OCSP doivent contenir un nombre à usage unique ou non. Par +défaut, un nombre à usage unique est toujours présent dans les requêtes +et il est comparé à celui de la réponse. Lorsque le répondeur n'utilise pas de +nombre à usage unique (comme Microsoft OCSP Responder), cette directive +doit être définie à off.

+
+
+ + +SSLOCSPProxyURL +Adresse de mandataire à utiliser pour les requêtes OCSP +SSLOCSPProxyURL url +server config +virtual host +Disponible à partir de la version 2.4.19 du serveur HTTP Apache + + +

Cette directive permet de définir l'URL d'un mandataire HTTP qui devra être +utilisé pour toutes les requêtes vers un répondeur OCSP.

+
+
+ + +SSLInsecureRenegotiation +Option permettant d'activer le support de la renégociation +non sécurisée +SSLInsecureRenegotiation on|off +SSLInsecureRenegotiation off +server config +virtual host +Disponible si une version 0.9.8m +ou supérieure d'OpenSSL est utilisée + + +

Comme il a été spécifié, toutes les versions des protocoles SSL et +TLS (jusqu'à la version 1.2 de TLS incluse) étaient vulnérables à une +attaque de type Man-in-the-Middle (CVE-2009-3555) +au cours d'une renégociation. Cette vulnérabilité permettait à un +attaquant de préfixer la requête HTTP (telle qu'elle était vue du +serveur) avec un texte choisi. Une extension du protocole a été +développée pour corriger cette vulnérabilité, sous réserve qu'elle soit +supportée par le client et le serveur.

+ +

Si mod_ssl est lié à une version 0.9.8m ou +supérieure d'OpenSSL, par défaut, la renégociation n'est accordée qu'aux +clients qui supportent la nouvelle extension du protocole. Si +cette directive est activée, la renégociation sera accordée aux anciens +clients (non patchés), quoique de manière non sécurisée

+ +Avertissement à propos de la sécurité +

Si cette directive est activée, les connexions SSL seront vulnérables +aux attaques de type préfixe Man-in-the-Middle comme décrit dans CVE-2009-3555.

+
+ +Exemple + +SSLInsecureRenegotiation on + + + +

La variable d'environnement SSL_SECURE_RENEG peut être +utilisée dans un script SSI ou CGI pour déterminer si la renégociation +sécurisée est supportée pour une connexion SSL donnée.

+ +
+
+ + +SSLUseStapling +Active l'ajout des réponses OCSP à la négociation TLS +SSLUseStapling on|off +SSLUseStapling off +server config +virtual host +Disponible si on utilise OpenSSL version 0.9.8h ou supérieure + + +

Cette directive permet d'activer l'"Agrafage OCSP" (OCSP stapling) +selon la définition de l'extension TLS "Certificate Status Request" +fournie dans la RFC 6066. Si elle est activée et si le client le +demande, mod_ssl va inclure une réponse OCSP à propos de son propre +certificat dans la négociation TLS. Pour pouvoir activer l'Agrafage +OCSP, il est nécessaire de configurer un SSLStaplingCache.

+ +

L'agrafage OCSP dispense le client de requérir le serveur OCSP +directement ; il faut cependant noter que selon les spécifications de la +RFC 6066, la réponse CertificateStatus du serveur ne peut +inclure une réponse OCSP que pour un seul certificat. Pour les +certificats de serveur comportant des certificats de CA intermédiaires +dans leur chaîne (c'est un cas typique de nos jours), l'implémentation +actuelle de l'agrafage OCSP n'atteint que partiellement l'objectif d' +"économie en questions/réponse et en ressources". Pour plus de détails, +voir la RFC 6961 (TLS +Multiple Certificate Status Extension). +

+ +

Lorsque l'agrafage OCSP est activé, le mutex +ssl-stapling contrôle l'accès au cache de l'agrafage OCSP +afin de prévenir toute corruption, et le mutex +sss-stapling-refresh contrôle le raffraîchissement des +réponses OCSP. Ces mutex peuvent être configurés via la directive +Mutex. +

+
+
+ + +SSLStaplingCache +Configuration du cache pour l'agrafage OCSP +SSLStaplingCache type +server config +Disponible si on utilise OpenSSL version 0.9.8h ou supérieure + + +

Si SSLUseStapling est à "on", +cette directive permet de configurer le cache destiné à stocker les +réponses OCSP incluses dans la négociation TLS. La configuration d'un +cache est obligatoire pour pouvoir utiliser l'agrafage OCSP. A +l'exception de none et nonenotnull, cette +directive supporte les mêmes types de stockage que la directive +SSLSessionCache.

+ +
+
+ + +SSLStaplingResponseTimeSkew +Durée de vie maximale autorisée des réponses OCSP incluses dans la +négociation TLS +SSLStaplingResponseTimeSkew secondes +SSLStaplingResponseTimeSkew 300 +server config +virtual host +Disponible si on utilise OpenSSL version 0.9.8h ou supérieure + + +

Cette directive permet de spécifier l'intervalle de temps maximum que +mod_ssl va calculer en faisant la différence entre les contenus des +champs nextUpdate et thisUpdate des réponses +OCSP incluses dans la négociation TLS. Pour pouvoir utiliser cette +directive, SSLUseStapling doit +être à "on".

+
+
+ + +SSLStaplingResponderTimeout +Temps d'attente maximum pour les requêtes vers les serveurs +OCSP +SSLStaplingResponderTimeout secondes +SSLStaplingResponderTimeout 10 +server config +virtual host +Disponible si on utilise OpenSSL version 0.9.8h ou supérieure + + +

Cette directive permet de définir le temps d'attente maximum lorsque +mod_ssl envoie une requête vers un serveur OCSP afin d'obtenir une +réponse destinée à être incluse dans les négociations TLS avec les +clients (SSLUseStapling doit +avoir été activée au préalable).

+
+
+ + +SSLStaplingResponseMaxAge +Age maximum autorisé des réponses OCSP incluses dans la +négociation TLS +SSLStaplingResponseMaxAge secondes +SSLStaplingResponseMaxAge -1 +server config +virtual host +Disponible si on utilise OpenSSL version 0.9.8h ou supérieure + + +

Cette directive permet de définir l'âge maximum autorisé +("fraîcheur") des réponses OCSP incluses dans la négociation TLS +(SSLUseStapling doit +avoir été activée au préalable). La valeur par défaut (-1) +ne définit aucun âge maximum, ce qui signifie que les réponses OCSP sont +considérées comme valides à partir du moment où le contenu de leur champ +nextUpdate se trouve dans le futur.

+
+
+ + +SSLStaplingStandardCacheTimeout +Durée de vie des réponses OCSP dans le cache +SSLStaplingStandardCacheTimeout secondes +SSLStaplingStandardCacheTimeout 3600 +server config +virtual host +Disponible si on utilise OpenSSL version 0.9.8h ou supérieure + + +

Cette directive permet de définir la durée de vie des réponses OCSP +dans le cache configuré via la directive SSLStaplingCache. Elle ne s'applique qu'aux +réponse valides, alors que la directive SSLStaplingErrorCacheTimeout s'applique aux +réponses invalides ou non disponibles. +

+
+
+ + +SSLStaplingReturnResponderErrors +Transmet au client les erreurs survenues lors des requêtes +OCSP +SSLStaplingReturnResponderErrors on|off +SSLStaplingReturnResponderErrors on +server config +virtual host +Disponible si on utilise OpenSSL version 0.9.8h ou supérieure + + +

Lorsque cette directive est activée, mod_ssl va transmettre au client les +réponses concernant les requêtes OCSP +échouées (comme les réponses avec un état autre que +"successful", les réponses avec un statut de certificat autre que +"good", les réponses +périmées, etc...). Lorsqu'elle est à +off, seules les réponses indiquant un statut de certificat +"good" seront incluses dans les +négociations TLS avec les clients.

+
+
+ + +SSLStaplingFakeTryLater +Génère une réponse "tryLater" pour les requêtes OCSP échouées +SSLStaplingFakeTryLater on|off +SSLStaplingFakeTryLater on +server config +virtual host +Disponible si on utilise OpenSSL version 0.9.8h ou supérieure + + +

Lorsque cette directive est activée, et si une requête vers un +serveur OCSP à des fins d'inclusion dans une négociation TLS échoue, +mod_ssl va générer une réponse "tryLater" pour le client (SSLStaplingReturnResponderErrors doit être +activée).

+
+
+ + +SSLStaplingErrorCacheTimeout +Durée de vie des réponses invalides dans le cache pour +agrafage OCSP +SSLStaplingErrorCacheTimeout secondes +SSLStaplingErrorCacheTimeout 600 +server config +virtual host +Disponible si on utilise OpenSSL version 0.9.8h ou supérieure + + +

Cette directive permet de définir la durée de vie des réponses +invalides dans le cache pour agrafage OCSP configuré via la +directive SSLStaplingCache. Pour +définir la durée de vie des réponses valides, voir la directive +SSLStaplingStandardCacheTimeout.

+
+
+ + +SSLStaplingForceURL +Remplace l'URI du serveur OCSP spécifié dans l'extension +AIA du certificat +SSLStaplingForceURL uri +server config +virtual host +Disponible si on utilise OpenSSL version 0.9.8h ou supérieure + + +

Cette directive permet de remplacer l'URI du serveur OCSP extraite de +l'extension authorityInfoAccess (AIA) du certificat. Elle peut s'avérer +utile lorsqu'on passe par un mandataire

+
+
+ + +SSLSessionTicketKeyFile +Clé de chiffrement/déchiffrement permanente pour les +tickets de session TLS +SSLSessionTicketKeyFile chemin-fichier +server config +virtual host +Disponible depuis la version 2.4.0 du serveur HTTP +Apache, sous réserve que l'on utilise une version 0.9.8h ou supérieure +d'OpenSSL + + +

Cette directive permet de définir une clé secrète pour le chiffrement +et le déchiffrement des tickets de session TLS selon les préconisations +de la RFC 5077. Elle a +été conçue à l'origine pour les environnements de clusters où les +données des sessions TLS doivent être partagées entre plusieurs noeuds. +Pour les configurations ne comportant qu'une seule instance de httpd, il +est préférable d'utiliser les clés (aléatoires) générées par mod_ssl au +démarrage du serveur.

+

Le fichier doit contenir 48 octets de données aléatoires créées de +préférence par une source à haute entropie. Sur un système de type UNIX, +il est possible de créer le fichier contenant la clé de la manière +suivante :

+ + +dd if=/dev/random of=/chemin/vers/fichier.tkey bs=1 count=48 + + +

Ces clés doivent être renouvelées fréquemment, car il s'agit du seul +moyen d'invalider un ticket de session existant - OpenSSL ne permet pas +actuellement de spécifier une limite à la durée de +vie des tickets. Une nouvelle clé de ticket ne peut être utilisée qu'après +redémarrage du serveur web. Tous les tickets de session existants +deviennent invalides après le redémarrage du serveur.

+ + +

Ce fichier contient des données sensibles et doit donc être protégé +par des permissions similaires à celles du fichier spécifié par la +directive SSLCertificateKeyFile.

+
+
+
+ + +SSLCompression +Permet d'activer la compression au niveau SSL +SSLCompression on|off +SSLCompression off +server config +virtual host +Disponible à partir de la version 2.4.3 du serveur HTTP +Apache, si on utilise une version d'OpenSSL 0.9.8 ou supérieure ; +l'utilisation dans un contexte de serveur virtuel n'est disponible que +si on utilise une version d'OpenSSL 1.0.0 ou supérieure. La valeur par +défaut était on dans la version 2.4.3. + + +

Cette directive permet d'activer la compression au niveau SSL.

+ +

L'activation de la compression est à l'origine de problèmes de +sécurité dans la plupart des configurations (l'attaque nommée CRIME).

+
+
+
+ + +SSLSessionTickets +Active ou désactive les tickets de session TLS +SSLSessionTickets on|off +SSLSessionTickets on +server config +virtual host +Disponible à partir de la version 2.4.11 du serveur HTTP +Apache, sous réserve d'utiliser OpenSSL version 0.9.8f ou supérieure. + + + +

Cette directive permet d'activer ou de désactiver l'utilisation des +tickets de session TLS (RFC 5077).

+ +

Les tickets de session TLS sont activés par défaut. Les utiliser sans +redémarrer le serveur selon une périodicité appropriée (par exemple +quotidiennement) compromet cependant le niveau de confidentialité.

+
+
+
+ + +SSLOpenSSLConfCmd +Configuration des paramètres d'OpenSSL via son API SSL_CONF +SSLOpenSSLConfCmd commande valeur +server config +virtual host +Disponible depuis la version 2.4.8 du serveur HTTP +Apache avec OpenSSL 1.0.2 ou supérieur + + +

Cette directive permet à mod_ssl d'accéder à l'API SSL_CONF +d'OpenSSL. Il n'est ainsi plus nécessaire d'implémenter des +directives supplémentaires pour mod_ssl lorsque de nouvelles +fonctionnalités sont ajoutées à OpenSSL, ce qui rend la configuration de +ce dernier beaucoup plus souple.

+ +

Le jeu de commandes disponibles pour la directive +SSLOpenSSLConfCmd dépend de la version d'OpenSSL +utilisée pour mod_ssl (la version minimale 1.0.2 est un +prérequis). Pour obtenir la liste des commandes supportées, voir la +section Supported configuration file commands de la page de +manuel d'OpenSSL SSL_CONF_cmd(3).

+ +

Certaines commandes peuvent remplacer des directives existantes +(comme SSLCipherSuite ou +SSLProtocol) ; notez cependant +que la syntaxe et/ou les valeurs possibles peuvent différer.

+ +Examples + +SSLOpenSSLConfCmd Options -SessionTicket,ServerPreference +SSLOpenSSLConfCmd ECDHParameters brainpoolP256r1 +SSLOpenSSLConfCmd ServerInfoFile /usr/local/apache2/conf/server-info.pem +SSLOpenSSLConfCmd Protocol "-ALL, TLSv1.2" +SSLOpenSSLConfCmd SignatureAlgorithms RSA+SHA384:ECDSA+SHA256 + + +
+
+ +
diff --git a/docs/manual/mod/mod_ssl.xml.meta b/docs/manual/mod/mod_ssl.xml.meta index 388e2f7025..be20a51f56 100644 --- a/docs/manual/mod/mod_ssl.xml.meta +++ b/docs/manual/mod/mod_ssl.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_substitute.html b/docs/manual/mod/mod_substitute.html index 4d0f620a72..e54d340aa5 100644 --- a/docs/manual/mod/mod_substitute.html +++ b/docs/manual/mod/mod_substitute.html @@ -3,3 +3,7 @@ URI: mod_substitute.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_substitute.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_substitute.html.fr b/docs/manual/mod/mod_substitute.html.fr new file mode 100644 index 0000000000..c251ee2be6 --- /dev/null +++ b/docs/manual/mod/mod_substitute.html.fr @@ -0,0 +1,234 @@ + + + + + +mod_substitute - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_substitute

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description:Effectue des opérations de recherche/remplacement sur les +corps de réponses
Statut:Extension
Identificateur de Module:substitute_module
Fichier Source:mod_substitute.c
+

Sommaire

+ +

mod_substitute fournit un mécanisme permettant + d'effectuer des substitutions de chaînes fixes ou d'expressions + rationnelles sur les corps de réponses.

+
+ + +
top
+

Directive Substitute

+ + + + + + + +
Description:Modèle de substition dans le contenu de la +réponse
Syntaxe:Substitute s/modèle/substitution/[infq]
Contexte:répertoire, .htaccess
AllowOverride:FileInfo
Statut:Extension
Module:mod_substitute
+

La directive Substitute permet de + spécifier un modèle de recherche/remplacement à appliquer au corps + de la réponse.

+ +

La signification du modèle peut être modifiée via toute + combinaison de ces drapeaux :

+ +
+
i
+
Effectue une comparaison sans tenir compte de la casse.
+
n
+
Par défaut, le modèle est traité en tant qu'expression + rationnelle. Le drapeau n force le traitement du + modèle en tant que chaîne fixe.
+
f
+ +
Avec le drapeau f, mod_substitute met à plat le + résultat d'une substitution (les conteneurs ou buckets ne sont + pas dissociés), ce qui permet à d'éventuelles substitutions + ultérieures de s'effectuer sur cette dernière. C'est le + comportement par défaut.
+
q
+ +
Avec le drapeau q, mod_substitute dissocie les + conteneurs (ou buckets) après chaque substitution. Ceci peut + améliorer la rapidité de la réponse et diminuer la quantité de + mémoire utilisée, mais ne doit être utilisé que s'il n'existe + aucune possibilité pour que le résultat d'une substitution ne + corresponde au modèle ou à l'expression rationnelle d'une + substitution ultérieure.
+
+ +

Exemple

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    Substitute "s/foo/bar/ni"
+</Location>
+
+ +

Si le modèle ou la chaîne de substitution contient un caractère + slash '/', il faut utiliser un autre délimiteur :

+ +

Exemple d'utilisation d'un délimiteur + alternatif

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    Substitute "s|<BR */?>|<br />|i"
+</Location>
+
+ +

Lorsqu'on utilise des expressions rationnelles, on peut insérer + des références arrières dans les opérations de comparaison et de + substitution, comme illustré dans l'exemple suivant :

+

Exemple d'utilisation de références arrières et de captures

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    # "foo=k,bar=k" -> "foo/bar=k" 
+    Substitute "s|foo=(\w+),bar=\1|foo/bar=$1"
+</Location>
+
+ +

Un scénario courant d'utilisation de mod_substitute + est la situation où un serveur frontal mandate des requêtes pour un + serveur d'arrière-plan qui renvoie des documents HTML contenant des + URLs intégrées codées en dur qui font référence à ce serveur + d'arrière-plan. Ces URLs ne fonctionnent pas pour l'utilisateur + final car le serveur d'arrière-plan est hors d'atteinte.

+ +

On peut, dans ce cas, utiliser mod_substitute pour + réécrire ces URLs afin qu'elles soit utilisables dans la partie + située derrière le mandataire :

+ +

Réécriture des URLs intégrées à un contenu mandaté

ProxyPass "/blog/" "http://internal.blog.example.com"
+ProxyPassReverse "/blog/" "http://internal.blog.example.com/"
+
+Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"
+
+ +

La directive ProxyPassReverse modifie tout en-tête + Location (redirection) envoyé par le serveur + d'arrière-plan et, dans cet exemple, la directive + Substitute se charge à son tour de la modification de + la réponse HTML.

+ + +
+
top
+

Directive SubstituteInheritBefore

+ + + + + + + + + +
Description:Modifie l'ordre de fusion des modèles hérités
Syntaxe:SubstituteInheritBefore on|off
Défaut:SubstituteInheritBefore on
Contexte:répertoire, .htaccess
AllowOverride:FileInfo
Statut:Extension
Module:mod_substitute
Compatibilité:Disponible à partir de la version 2.4.17 du serveur HTTP +Apache
+

Cette directive permet de définir si l'on applique les modèles +Substitute hérités en premier +(valeur on), ou après ceux du +contexte courant (valeur off). Sa valeur est maintenant +définie par défaut à on ; il est cependant possible de +restaurer le comportement des versions 2.4 et antérieures du serveur qui +était équivalent à une définition à off de cette directive. +La valeur de la directive SubstituteInheritBefore est +elle-même héritée, et les contextes qui en héritent (ceux qui ne +définissent pas explicitement leur propre directive +SubstituteInheritBefore) appliqueront donc +l'ordre de fusion défini le plus proche.

+ +
+
top
+

Directive SubstituteMaxLineLength

+ + + + + + + + + +
Description:Définit la longueur de ligne maximale
Syntaxe:SubstituteMaxLineLength octets(b|B|k|K|m|M|g|G)
Défaut:SubstituteMaxLineLength 1m
Contexte:répertoire, .htaccess
AllowOverride:FileInfo
Statut:Extension
Module:mod_substitute
Compatibilité:Disponible à partir de la version 2.4.11 du serveur HTTP +Apache
+

La taille de la ligne traitée par mod_substitute + est limitée afin de restreindre l'utilisation des ressources + mémoire. La directive SubstituteMaxLineLength + permet de définir cette limite. La valeur de la limite peut être + spécifiée sous la forme d'un nombre d'octets, et peut être suffixée + par une des lettres b, B, k, + K, m, M, g ou + G pour fournir une valeur respectivement en octets, + kiloOctets, mégaOctets ou gigaOctets.

+ +

Example

<Location "/">
+    AddOutputFilterByType SUBSTITUTE text/html
+    SubstituteMaxLineLength 10m
+    Substitute "s/foo/bar/ni"
+</Location>
+
+ + +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_substitute.xml.fr b/docs/manual/mod/mod_substitute.xml.fr new file mode 100644 index 0000000000..776944e28b --- /dev/null +++ b/docs/manual/mod/mod_substitute.xml.fr @@ -0,0 +1,211 @@ + + + + + + + + + + + +mod_substitute +Effectue des opérations de recherche/remplacement sur les +corps de réponses +Extension +mod_substitute.c +substitute_module + + +

mod_substitute fournit un mécanisme permettant + d'effectuer des substitutions de chaînes fixes ou d'expressions + rationnelles sur les corps de réponses.

+
+ + +Substitute +Modèle de substition dans le contenu de la +réponse +Substitute s/modèle/substitution/[infq] +directory +.htaccess +FileInfo + + +

La directive Substitute permet de + spécifier un modèle de recherche/remplacement à appliquer au corps + de la réponse.

+ +

La signification du modèle peut être modifiée via toute + combinaison de ces drapeaux :

+ +
+
i
+
Effectue une comparaison sans tenir compte de la casse.
+
n
+
Par défaut, le modèle est traité en tant qu'expression + rationnelle. Le drapeau n force le traitement du + modèle en tant que chaîne fixe.
+
f
+ +
Avec le drapeau f, mod_substitute met à plat le + résultat d'une substitution (les conteneurs ou buckets ne sont + pas dissociés), ce qui permet à d'éventuelles substitutions + ultérieures de s'effectuer sur cette dernière. C'est le + comportement par défaut.
+
q
+ +
Avec le drapeau q, mod_substitute dissocie les + conteneurs (ou buckets) après chaque substitution. Ceci peut + améliorer la rapidité de la réponse et diminuer la quantité de + mémoire utilisée, mais ne doit être utilisé que s'il n'existe + aucune possibilité pour que le résultat d'une substitution ne + corresponde au modèle ou à l'expression rationnelle d'une + substitution ultérieure.
+
+ + Exemple + +<Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + Substitute "s/foo/bar/ni" +</Location> + + + +

Si le modèle ou la chaîne de substitution contient un caractère + slash '/', il faut utiliser un autre délimiteur :

+ + Exemple d'utilisation d'un délimiteur + alternatif + +<Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + Substitute "s|<BR */?>|<br />|i" +</Location> + + + +

Lorsqu'on utilise des expressions rationnelles, on peut insérer + des références arrières dans les opérations de comparaison et de + substitution, comme illustré dans l'exemple suivant :

+ Exemple d'utilisation de références arrières et de captures + +<Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + # "foo=k,bar=k" -> "foo/bar=k" + Substitute "s|foo=(\w+),bar=\1|foo/bar=$1" +</Location> + + + +

Un scénario courant d'utilisation de mod_substitute + est la situation où un serveur frontal mandate des requêtes pour un + serveur d'arrière-plan qui renvoie des documents HTML contenant des + URLs intégrées codées en dur qui font référence à ce serveur + d'arrière-plan. Ces URLs ne fonctionnent pas pour l'utilisateur + final car le serveur d'arrière-plan est hors d'atteinte.

+ +

On peut, dans ce cas, utiliser mod_substitute pour + réécrire ces URLs afin qu'elles soit utilisables dans la partie + située derrière le mandataire :

+ + Réécriture des URLs intégrées à un contenu mandaté + +ProxyPass "/blog/" "http://internal.blog.example.com" +ProxyPassReverse "/blog/" "http://internal.blog.example.com/" + +Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i" + + + +

La directive ProxyPassReverse modifie tout en-tête + Location (redirection) envoyé par le serveur + d'arrière-plan et, dans cet exemple, la directive + Substitute se charge à son tour de la modification de + la réponse HTML.

+ +
+
+ + +SubstituteMaxLineLength +Définit la longueur de ligne maximale +SubstituteMaxLineLength octets(b|B|k|K|m|M|g|G) +SubstituteMaxLineLength 1m +directory +.htaccess +FileInfo +Disponible à partir de la version 2.4.11 du serveur HTTP +Apache + + +

La taille de la ligne traitée par mod_substitute + est limitée afin de restreindre l'utilisation des ressources + mémoire. La directive SubstituteMaxLineLength + permet de définir cette limite. La valeur de la limite peut être + spécifiée sous la forme d'un nombre d'octets, et peut être suffixée + par une des lettres b, B, k, + K, m, M, g ou + G pour fournir une valeur respectivement en octets, + kiloOctets, mégaOctets ou gigaOctets.

+ + Example + +<Location "/"> + AddOutputFilterByType SUBSTITUTE text/html + SubstituteMaxLineLength 10m + Substitute "s/foo/bar/ni" +</Location> + + + +
+
+ + +SubstituteInheritBefore +Modifie l'ordre de fusion des modèles hérités +SubstituteInheritBefore on|off +SubstituteInheritBefore on +directory +.htaccess +FileInfo +Disponible à partir de la version 2.4.17 du serveur HTTP +Apache + + +

Cette directive permet de définir si l'on applique les modèles +Substitute hérités en premier +(valeur on), ou après ceux du +contexte courant (valeur off). Sa valeur est maintenant +définie par défaut à on ; il est cependant possible de +restaurer le comportement des versions 2.4 et antérieures du serveur qui +était équivalent à une définition à off de cette directive. +La valeur de la directive SubstituteInheritBefore est +elle-même héritée, et les contextes qui en héritent (ceux qui ne +définissent pas explicitement leur propre directive +SubstituteInheritBefore) appliqueront donc +l'ordre de fusion défini le plus proche.

+
+
+ +
diff --git a/docs/manual/mod/mod_substitute.xml.meta b/docs/manual/mod/mod_substitute.xml.meta index f9dbd2933f..c991ba2149 100644 --- a/docs/manual/mod/mod_substitute.xml.meta +++ b/docs/manual/mod/mod_substitute.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_suexec.html b/docs/manual/mod/mod_suexec.html index f5d06c2916..7bf30c42b7 100644 --- a/docs/manual/mod/mod_suexec.html +++ b/docs/manual/mod/mod_suexec.html @@ -4,6 +4,10 @@ URI: mod_suexec.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_suexec.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_suexec.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_suexec.html.fr b/docs/manual/mod/mod_suexec.html.fr new file mode 100644 index 0000000000..db9b4c3dbf --- /dev/null +++ b/docs/manual/mod/mod_suexec.html.fr @@ -0,0 +1,114 @@ + + + + + +mod_suexec - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_suexec

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + + +
Description:Permet l'exécution des scripts CGI sous l'utilisateur et +le groupe spécifiés
Statut:Extension
Identificateur de Module:suexec_module
Fichier Source:mod_suexec.c
+

Sommaire

+ +

Ce module, en combinaison avec son programme support + suexec, permet l'exécution des scripts CGI sous + l'utilisateur et le groupe spécifiés.

+
+ + +
top
+

Directive SuexecUserGroup

+ + + + + + +
Description:L'utilisateur et le groupe sous lesquels les programmes CGI +doivent s'exécuter
Syntaxe:SuexecUserGroup Utilisateur Groupe
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_suexec
+

La directive SuexecUserGroup permet de + spécifier l'utilisateur et le groupe sous lesquels les programmes + CGI doivent s'exécuter. Les requêtes non CGI seront toujours + traitées avec l'utilisateur spécifié par la directive User.

+ +

Exemple

SuexecUserGroup nobody nogroup
+
+ +

Le démarrage va échouer si cette + directive est spécifiée et si la fonctionnalité suEXEC est + désactivée.

+ + +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_suexec.xml.fr b/docs/manual/mod/mod_suexec.xml.fr new file mode 100644 index 0000000000..84aa964720 --- /dev/null +++ b/docs/manual/mod/mod_suexec.xml.fr @@ -0,0 +1,76 @@ + + + + + + + + + + + +mod_suexec +Permet l'exécution des scripts CGI sous l'utilisateur et +le groupe spécifiés +Extension +mod_suexec.c +suexec_module + + + +

Ce module, en combinaison avec son programme support + suexec, permet l'exécution des scripts CGI sous + l'utilisateur et le groupe spécifiés.

+
+ +Support de SuEXEC + + + +SuexecUserGroup +L'utilisateur et le groupe sous lesquels les programmes CGI +doivent s'exécuter +SuexecUserGroup Utilisateur Groupe +server config +virtual host + + +

La directive SuexecUserGroup permet de + spécifier l'utilisateur et le groupe sous lesquels les programmes + CGI doivent s'exécuter. Les requêtes non CGI seront toujours + traitées avec l'utilisateur spécifié par la directive User.

+ + + Exemple + + SuexecUserGroup nobody nogroup + + + +

Le démarrage va échouer si cette + directive est spécifiée et si la fonctionnalité suEXEC est + désactivée.

+ +
+ +Suexec +
+ +
+ diff --git a/docs/manual/mod/mod_suexec.xml.meta b/docs/manual/mod/mod_suexec.xml.meta index 06bed1af5c..e906e43a73 100644 --- a/docs/manual/mod/mod_suexec.xml.meta +++ b/docs/manual/mod/mod_suexec.xml.meta @@ -8,6 +8,7 @@ en + fr ja ko tr diff --git a/docs/manual/mod/mod_unixd.html b/docs/manual/mod/mod_unixd.html index 11eeb7437c..991efe3af1 100644 --- a/docs/manual/mod/mod_unixd.html +++ b/docs/manual/mod/mod_unixd.html @@ -4,6 +4,10 @@ URI: mod_unixd.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_unixd.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_unixd.html.tr.utf8 Content-Language: tr Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_unixd.html.fr b/docs/manual/mod/mod_unixd.html.fr new file mode 100644 index 0000000000..7f8b1aca7c --- /dev/null +++ b/docs/manual/mod/mod_unixd.html.fr @@ -0,0 +1,226 @@ + + + + + +mod_unixd - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_unixd

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ + + +
Description:Sécurité de base (nécessaire) pour les plates-formes de la +famille Unix.
Statut:Base
Identificateur de Module:unixd_module
Fichier Source:mod_unixd.c
+
+ + +
top
+

Directive ChrootDir

+ + + + + + + +
Description:Répertoire dans lequel Apache doit se positionner au +démarrage après avoir effectué un chroot(8).
Syntaxe:ChrootDir chemin-répertoire
Défaut:none
Contexte:configuration du serveur
Statut:Base
Module:mod_unixd
+

Cette directive + permet de faire en sorte que le serveur effectue un + chroot(8) vers le répertoire spécifié après le démarrage, + mais avant d'accepter les requêtes en provenance du réseau.

+

Notez que l'exécution du serveur dans un environnement chroot + n'est pas simple et nécessite une configuration particulière, en + particulier si vous utilisez des scripts CGI ou PHP. Il est + conseillé de se familiariser avec l'opération chroot avant d'essayer + d'utiliser cette fonctionnalité.

+ +
+
top
+

Directive Group

+ + + + + + + +
Description:Groupe sous lequel le serveur va traiter les +requêtes
Syntaxe:Group groupe unix
Défaut:Group #-1
Contexte:configuration du serveur
Statut:Base
Module:mod_unixd
+

La directive Group permet de définir le + groupe sous lequel le serveur va traiter les requêtes. Pour pouvoir + utiliser cette directive, le serveur doit avoir été démarré par + root. Si vous démarrez le serveur en tant + qu'utilisateur non root, celui-ci ne pourra pas adopter le groupe + spécifié comme groupe d'exécution, et continuera à s'exécuter sous + le groupe de l'utilisateur qui l'aura lancé. groupe unix + peut se présenter sous la forme :

+ +
+
d'un nom de groupe
+
Référence le groupe spécifié par son nom.
+ +
du caractère # suivi d'un numéro de groupe.
+
Référence le groupe spécifié par son numéro.
+
+ +

Exemple

Group www-group
+
+ +

Il est conseillé de créer un groupe dédié à l'exécution du + serveur. Certains administrateurs utilisent l'utilisateur + nobody, mais ce n'est pas toujours souhaitable ou même + possible.

+ +

Sécurité

+

Ne définissez pas la directive Group (ou + User) à + root à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.

+
+ + +

Voir aussi

+ +
+
top
+

Directive Suexec

+ + + + + + + +
Description:Active ou désactive la fonctionnalité suEXEC
Syntaxe:Suexec On|Off
Défaut:On si le binaire suexec existe avec les mode et propriétaire +appropriés, Off dans le cas contraire
Contexte:configuration du serveur
Statut:Base
Module:mod_unixd
+

Lorsque cette directive est définie à On, le démarrage échouera si + le binaire suexec n'existe pas, ou possède un propriétaire ou mode + fichier invalide.

+

Lorsque cette directive est définie à Off, suEXEC sera désactivé, + même si le binaire suexec existe et possède un propriétaire et mode + fichier valides.

+ +
+
top
+

Directive User

+ + + + + + + +
Description:L'utilisateur sous lequel le serveur va traiter les +requêtes
Syntaxe:User utilisateur unix
Défaut:User #-1
Contexte:configuration du serveur
Statut:Base
Module:mod_unixd
+

La directive User permet de définir + l'utilisateur sous lequel le serveur va traiter les requêtes. Pour + pouvoir utiliser cette directive, le serveur doit avoir été démarré + par root. Si vous démarrez le serveur en tant + qu'utilisateur non root, celui-ci ne pourra pas adopter + l'utilisateur avec privilèges restreints comme utilisateur + d'exécution, et continuera à s'exécuter sous + l'utilisateur qui l'aura lancé. Si vous démarrez le serveur en tant + que root, il est normal que le processus parent + continue à s'exécuter sous root. utilisateur unix peut se + présenter sous la forme :

+ +
+
d'un nom d'utilisateur
+
Référence l'utilisateur spécifié par son nom.
+ +
le caractère # suivi d'un numéro d'utilisateur.
+
Référence l'utilisateur spécifié par son numéro.
+
+ +

L'utilisateur ne doit pas posséder de privilèges qui lui + permettent d'accéder à des fichiers qui ne doivent pas être visibles + du monde extérieur, et parallèlement, l'utilisateur ne doit pas + exécuter de code dont l'usage soit destiné à un usage autre que les + requêtes HTTP. Il est conseillé de créer un utilisateur et un groupe + dédiés à l'exécution du serveur. Certains administrateurs utilisent + l'utilisateur nobody, mais ce n'est pas toujours + souhaitable, car l'utilisateur nobody peut avoir + diverses utilisations dans le système.

+ +

Sécurité

+

Ne définissez pas la directive Group (ou + User) à + root à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.

+
+ + +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_unixd.xml.fr b/docs/manual/mod/mod_unixd.xml.fr new file mode 100644 index 0000000000..5629a2cc9a --- /dev/null +++ b/docs/manual/mod/mod_unixd.xml.fr @@ -0,0 +1,176 @@ + + + + + + + + + + + +mod_unixd +Sécurité de base (nécessaire) pour les plates-formes de la +famille Unix. +Base +mod_unixd.c +unixd_module + +Support de suEXEC + + +Group +Groupe sous lequel le serveur va traiter les +requêtes +Group groupe unix +Group #-1 +server config + + +

La directive Group permet de définir le + groupe sous lequel le serveur va traiter les requêtes. Pour pouvoir + utiliser cette directive, le serveur doit avoir été démarré par + root. Si vous démarrez le serveur en tant + qu'utilisateur non root, celui-ci ne pourra pas adopter le groupe + spécifié comme groupe d'exécution, et continuera à s'exécuter sous + le groupe de l'utilisateur qui l'aura lancé. groupe unix + peut se présenter sous la forme :

+ +
+
d'un nom de groupe
+
Référence le groupe spécifié par son nom.
+ +
du caractère # suivi d'un numéro de groupe.
+
Référence le groupe spécifié par son numéro.
+
+ + Exemple + + Group www-group + + + +

Il est conseillé de créer un groupe dédié à l'exécution du + serveur. Certains administrateurs utilisent l'utilisateur + nobody, mais ce n'est pas toujours souhaitable ou même + possible.

+ + Sécurité +

Ne définissez pas la directive Group (ou + User) à + root à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.

+
+ +
+VHostGroup +SuexecUserGroup +
+ + +User +L'utilisateur sous lequel le serveur va traiter les +requêtes +User utilisateur unix +User #-1 +server config + + +

La directive User permet de définir + l'utilisateur sous lequel le serveur va traiter les requêtes. Pour + pouvoir utiliser cette directive, le serveur doit avoir été démarré + par root. Si vous démarrez le serveur en tant + qu'utilisateur non root, celui-ci ne pourra pas adopter + l'utilisateur avec privilèges restreints comme utilisateur + d'exécution, et continuera à s'exécuter sous + l'utilisateur qui l'aura lancé. Si vous démarrez le serveur en tant + que root, il est normal que le processus parent + continue à s'exécuter sous root. utilisateur unix peut se + présenter sous la forme :

+ +
+
d'un nom d'utilisateur
+
Référence l'utilisateur spécifié par son nom.
+ +
le caractère # suivi d'un numéro d'utilisateur.
+
Référence l'utilisateur spécifié par son numéro.
+
+ +

L'utilisateur ne doit pas posséder de privilèges qui lui + permettent d'accéder à des fichiers qui ne doivent pas être visibles + du monde extérieur, et parallèlement, l'utilisateur ne doit pas + exécuter de code dont l'usage soit destiné à un usage autre que les + requêtes HTTP. Il est conseillé de créer un utilisateur et un groupe + dédiés à l'exécution du serveur. Certains administrateurs utilisent + l'utilisateur nobody, mais ce n'est pas toujours + souhaitable, car l'utilisateur nobody peut avoir + diverses utilisations dans le système.

+ + Sécurité +

Ne définissez pas la directive Group (ou + User) à + root à moins de savoir exactement ce que vous faites + ainsi que les dangers encourus.

+
+ +
+VHostUser +SuexecUserGroup +
+ + +ChrootDir +Répertoire dans lequel Apache doit se positionner au +démarrage après avoir effectué un chroot(8). +ChrootDir chemin-répertoire +none +server config +mod_unixd + + +

Cette directive + permet de faire en sorte que le serveur effectue un + chroot(8) vers le répertoire spécifié après le démarrage, + mais avant d'accepter les requêtes en provenance du réseau.

+

Notez que l'exécution du serveur dans un environnement chroot + n'est pas simple et nécessite une configuration particulière, en + particulier si vous utilisez des scripts CGI ou PHP. Il est + conseillé de se familiariser avec l'opération chroot avant d'essayer + d'utiliser cette fonctionnalité.

+
+
+ + +Suexec +Active ou désactive la fonctionnalité suEXEC +Suexec On|Off +On si le binaire suexec existe avec les mode et propriétaire +appropriés, Off dans le cas contraire +server config + + +

Lorsque cette directive est définie à On, le démarrage échouera si + le binaire suexec n'existe pas, ou possède un propriétaire ou mode + fichier invalide.

+

Lorsque cette directive est définie à Off, suEXEC sera désactivé, + même si le binaire suexec existe et possède un propriétaire et mode + fichier valides.

+
+
+ +
diff --git a/docs/manual/mod/mod_unixd.xml.meta b/docs/manual/mod/mod_unixd.xml.meta index d4be6af810..a29d129e5f 100644 --- a/docs/manual/mod/mod_unixd.xml.meta +++ b/docs/manual/mod/mod_unixd.xml.meta @@ -8,6 +8,7 @@ en + fr tr diff --git a/docs/manual/mod/mod_userdir.html b/docs/manual/mod/mod_userdir.html index b6960e7bef..d9693b7b30 100644 --- a/docs/manual/mod/mod_userdir.html +++ b/docs/manual/mod/mod_userdir.html @@ -4,6 +4,10 @@ URI: mod_userdir.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_userdir.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_userdir.html.ja.utf8 Content-Language: ja Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_userdir.html.fr b/docs/manual/mod/mod_userdir.html.fr new file mode 100644 index 0000000000..419abe703e --- /dev/null +++ b/docs/manual/mod/mod_userdir.html.fr @@ -0,0 +1,228 @@ + + + + + +mod_userdir - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_userdir

+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
+ + + +
Description:Répertoires propres à un utilisateur
Statut:Base
Identificateur de Module:userdir_module
Fichier Source:mod_userdir.c
+

Sommaire

+ +

Ce module permet l'accès aux répertoires propres à un utilisateur en +utilisant la syntaxe http://example.com/~utilisateur/.

+
+ + +
top
+

Directive UserDir

+ + + + + + +
Description:Chemin des répertoires propres à un +utilisateur
Syntaxe:UserDir nom-répertoire [nom-répertoire] ... +
Contexte:configuration du serveur, serveur virtuel
Statut:Base
Module:mod_userdir
+ +

La directive UserDir permet de définir le + répertoire réel du répertoire home d'un utilisateur à utiliser à la + réception d'une requête pour un document de cet utilisateur. + nom-répertoire peut se présenter sous la forme suivante + :

+ +
    +
  • Le nom d'un répertoire ou un modèle tel que ceux présentés + ci-dessous.
  • + +
  • Le mot-clé disabled. Toutes les + traductions nom d'utilisateur vers répertoire sont alors + désactivées, à l'exception de celles comportant le mot-clé + enabled (voir ci-dessous).
  • + +
  • Le mot-clé disabled suivi d'une liste de noms + d'utilisateurs séparés par des espaces. Les noms d'utilisateurs + apparaissant dans une telle liste ne feront jamais + l'objet d'une traduction vers un répertoire, même dans le cas où + ils apparaîtront dans une clause enabled.
  • + +
  • Le mot-clé enabled suivi d'une liste de noms + d'utilisateurs séparés par des espaces. Les noms d'utilisateurs + apparaissant dans une telle liste seront traduits en répertoires + même dans le cas où une clause disable globale est active, mais + pas s'ils apparaissent aussi dans une clause + disabled.
  • +
+ +

Si aucun mot-clé enabled ou disabled + n'apparait dans la directive Userdir, l'argument est + traité en tant que modèle de fichier, et utilisé pour traduire le + nom d'utilisateur en une spécification de répertoire. Une requête + pour http://www.example.com/~bob/un/deux.html sera + traduite en :

+ + + + + + + + + + +
Directive Userdir utiliséeChemin traduit
UserDir public_html~bob/public_html/un/deux.html
UserDir /usr/web/usr/web/bob/un/deux.html
UserDir /home/*/www/home/bob/www/un/deux.html
+ +

Les directives suivantes vont envoyer des redirections au client + :

+ + + + + + + + + + +
Directive Userdir utiliséeChemin traduit
UserDir http://www.example.com/utilisateurshttp://www.example.com/utilisateurs/bob/un/deux.html
UserDir http://www.example.com/*/usrhttp://www.example.com/bob/usr/un/deux.html
UserDir http://www.example.com/~*/http://www.example.com/~bob/un/deux.html
+ +
+ Soyez prudent avec cette directive ; par exemple, + "UserDir ./" ferait correspondre + "/~root" à "/" - ce qui n'est + probablement pas souhaité. Il est fortement recommandé d'inclure + une déclaration "UserDir disabled root" dans votre + configuration. Voir aussi la directive Directory et la page Conseils en matière de + sécurité pour plus d'informations. +
+ +

Exemples supplémentaires :

+ +

Pour permettre à quelques utilisateurs et seulement à ceux-ci de + posséder des répertoires UserDir, utilisez la + configuration suivante :

+ +
UserDir disabled
+UserDir enabled user1 user2 user3
+ + +

Pour permettre à la plupart des utilisateurs de posséder des + répertoires UserDir, mais l'interdire à quelques uns, + utilisez la configuration suivante :

+ +
UserDir disabled utilisateur4 utilisateur5 utilisateur6
+ + +

Il est aussi possible de spécifier des répertoires utilisateurs + alternatifs. Si vous utilisez une commande comme :

+ +
UserDir "public_html" "/usr/web" "http://www.example.com/"
+ + +

Avec une requête pour + http://www.example.com/~bob/un/deux.html, le serveur + tentera tout d'abord de trouver la page à + ~bob/public_html/un/deux.html, puis à + /usr/web/bob/un/deux.html, et enfin il enverra une + redirection vers + http://www.example.com/bob/un/deux.html.

+ +

Si vous spécifiez une redirection, elle doit être la dernière + alternative de la liste. Apache httpd ne pouvant pas déterminer si la + redirection a réussi, si cette dernière ne se trouve pas en fin de + liste, c'est cette alternative qui sera toujours utilisée.

+ +

La substitution de répertoire utilisateur n'est pas activée par + défaut depuis la version 2.1.4. Dans les versions précédentes, + UserDir public_html était sous-entendu si aucune + directive UserDir + n'était présente.

+ +

Détails à propos de la fusion

+

Lorsqu'on passe du contexte global au contexte de serveur + virtuel, les listes d'utilisateurs spécifiques activés ou désactivés + sont remplacées par les listes du contexte, et non fusionnées.

+ + +

Voir aussi

+ +
+
+
+

Langues Disponibles:  en  | + fr  | + ja  | + ko  | + tr 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_userdir.xml.fr b/docs/manual/mod/mod_userdir.xml.fr new file mode 100644 index 0000000000..006550bb90 --- /dev/null +++ b/docs/manual/mod/mod_userdir.xml.fr @@ -0,0 +1,188 @@ + + + + + + + + + + + +mod_userdir +Répertoires propres à un utilisateur +Base +mod_userdir.c +userdir_module + + +

Ce module permet l'accès aux répertoires propres à un utilisateur en +utilisant la syntaxe http://example.com/~utilisateur/.

+
+ +Mise en correspondance des URLs +avec le système de fichiers +Tutoriel +public_html + + + +UserDir +Chemin des répertoires propres à un +utilisateur +UserDir nom-répertoire [nom-répertoire] ... + +server config +virtual host + + + +

La directive UserDir permet de définir le + répertoire réel du répertoire home d'un utilisateur à utiliser à la + réception d'une requête pour un document de cet utilisateur. + nom-répertoire peut se présenter sous la forme suivante + :

+ +
    +
  • Le nom d'un répertoire ou un modèle tel que ceux présentés + ci-dessous.
  • + +
  • Le mot-clé disabled. Toutes les + traductions nom d'utilisateur vers répertoire sont alors + désactivées, à l'exception de celles comportant le mot-clé + enabled (voir ci-dessous).
  • + +
  • Le mot-clé disabled suivi d'une liste de noms + d'utilisateurs séparés par des espaces. Les noms d'utilisateurs + apparaissant dans une telle liste ne feront jamais + l'objet d'une traduction vers un répertoire, même dans le cas où + ils apparaîtront dans une clause enabled.
  • + +
  • Le mot-clé enabled suivi d'une liste de noms + d'utilisateurs séparés par des espaces. Les noms d'utilisateurs + apparaissant dans une telle liste seront traduits en répertoires + même dans le cas où une clause disable globale est active, mais + pas s'ils apparaissent aussi dans une clause + disabled.
  • +
+ +

Si aucun mot-clé enabled ou disabled + n'apparait dans la directive Userdir, l'argument est + traité en tant que modèle de fichier, et utilisé pour traduire le + nom d'utilisateur en une spécification de répertoire. Une requête + pour http://www.example.com/~bob/un/deux.html sera + traduite en :

+ + + + + + + + + + +
Directive Userdir utiliséeChemin traduit
UserDir public_html~bob/public_html/un/deux.html
UserDir /usr/web/usr/web/bob/un/deux.html
UserDir /home/*/www/home/bob/www/un/deux.html
+ +

Les directives suivantes vont envoyer des redirections au client + :

+ + + + + + + + + + +
Directive Userdir utiliséeChemin traduit
UserDir http://www.example.com/utilisateurshttp://www.example.com/utilisateurs/bob/un/deux.html
UserDir http://www.example.com/*/usrhttp://www.example.com/bob/usr/un/deux.html
UserDir http://www.example.com/~*/http://www.example.com/~bob/un/deux.html
+ + + Soyez prudent avec cette directive ; par exemple, + "UserDir ./" ferait correspondre + "/~root" à "/" - ce qui n'est + probablement pas souhaité. Il est fortement recommandé d'inclure + une déclaration "UserDir disabled root" dans votre + configuration. Voir aussi la directive Directory et la page Conseils en matière de + sécurité pour plus d'informations. + + +

Exemples supplémentaires :

+ +

Pour permettre à quelques utilisateurs et seulement à ceux-ci de + posséder des répertoires UserDir, utilisez la + configuration suivante :

+ + +UserDir disabled +UserDir enabled user1 user2 user3 + + +

Pour permettre à la plupart des utilisateurs de posséder des + répertoires UserDir, mais l'interdire à quelques uns, + utilisez la configuration suivante :

+ + + UserDir disabled utilisateur4 utilisateur5 utilisateur6 + + +

Il est aussi possible de spécifier des répertoires utilisateurs + alternatifs. Si vous utilisez une commande comme :

+ + + UserDir "public_html" "/usr/web" "http://www.example.com/" + + +

Avec une requête pour + http://www.example.com/~bob/un/deux.html, le serveur + tentera tout d'abord de trouver la page à + ~bob/public_html/un/deux.html, puis à + /usr/web/bob/un/deux.html, et enfin il enverra une + redirection vers + http://www.example.com/bob/un/deux.html.

+ +

Si vous spécifiez une redirection, elle doit être la dernière + alternative de la liste. Apache httpd ne pouvant pas déterminer si la + redirection a réussi, si cette dernière ne se trouve pas en fin de + liste, c'est cette alternative qui sera toujours utilisée.

+ +

La substitution de répertoire utilisateur n'est pas activée par + défaut depuis la version 2.1.4. Dans les versions précédentes, + UserDir public_html était sous-entendu si aucune + directive UserDir + n'était présente.

+ + Détails à propos de la fusion +

Lorsqu'on passe du contexte global au contexte de serveur + virtuel, les listes d'utilisateurs spécifiques activés ou désactivés + sont remplacées par les listes du contexte, et non fusionnées.

+ +
+ + + Tutoriel sur les répertoires web + utilisateur + + +
+
+ + diff --git a/docs/manual/mod/mod_userdir.xml.meta b/docs/manual/mod/mod_userdir.xml.meta index 115e61df95..174168e57d 100644 --- a/docs/manual/mod/mod_userdir.xml.meta +++ b/docs/manual/mod/mod_userdir.xml.meta @@ -8,6 +8,7 @@ en + fr ja ko tr diff --git a/docs/manual/mod/mod_usertrack.html b/docs/manual/mod/mod_usertrack.html index 63ee8b409a..abed042ff5 100644 --- a/docs/manual/mod/mod_usertrack.html +++ b/docs/manual/mod/mod_usertrack.html @@ -3,3 +3,7 @@ URI: mod_usertrack.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 + +URI: mod_usertrack.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 diff --git a/docs/manual/mod/mod_usertrack.html.fr b/docs/manual/mod/mod_usertrack.html.fr new file mode 100644 index 0000000000..234be995ac --- /dev/null +++ b/docs/manual/mod/mod_usertrack.html.fr @@ -0,0 +1,251 @@ + + + + + +mod_usertrack - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_usertrack

+
+

Langues Disponibles:  en  | + fr 

+
+ + + +
Description: +Journalisation Clickstream des liens parcourus par un +utilisateur sur un site +
Statut:Extension
Identificateur de Module:usertrack_module
Fichier Source:mod_usertrack.c
+

Sommaire

+ +

Ce module permet de suivre le parcours d'un utilisateur à travers + votre site web en faisant appel aux cookies de navigateur.

+
+ +
top
+
+

Journalisation

+ + +

mod_usertrack définit un cookie qui peut être + journalisé via les formats configurables du module + mod_log_config :

+ +
LogFormat "%{Apache}n %r %t" usertrack
+CustomLog "logs/clickstream.log" usertrack
+ + + +
+
top
+

Directive CookieDomain

+ + + + + + + +
Description:Le domaine auquel le cookie traceur +s'applique
Syntaxe:CookieDomain domaine
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Extension
Module:mod_usertrack
+ +

Cette directive permet de définir le domaine auquel le cookie + traceur s'applique. Si elle n'est pas présente, aucun domaine n'est + inclus dans le champ d'en-tête cookie.

+ +

La chaîne dommaine doit commencer par un point, + et doit comporter au moins un point entouré + d'autres caractères. Par exemple, .example.com est + une chaîne valide, mais www.example.com et + .com ne le sont pas.

+ +
La plupart des navigateurs utilisés actuellement n'autorisent + pas la définition de cookies pour un domaine racine de deux niveaux, + tel que .co.uk, bien qu'un tel domaine remplisse les + conditions de validité décrites ci-dessus.
+ + Ces domaines sont équivalents à des domaines racines comme + .com, et autoriser de tels cookies peut constituer un + risque en matière de sécurité. Ainsi, si vous vous situez sous un + domaine racine de deux niveaux, vous devez encore utiliser votre + domaine véritable, comme vous le feriez avec tout autre domaine + racine (par exemple .example.co.uk). +
+ +
CookieDomain .example.com
+ + +
+
top
+

Directive CookieExpires

+ + + + + + + +
Description:Durée avant expiration du cookie traceur
Syntaxe:CookieExpires durée
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Extension
Module:mod_usertrack
+

Lorsqu'elle est utilisée, cette directive définit une durée avant + l'expiration du cookie généré par le module usertrack. La + durée peut être spécifiée sous la forme d'un nombre de + secondes, ou sous une forme du + style "2 weeks 3 days 7 hours". les termes valides sont : years, + months, weeks, days, hours, minutes et seconds. Si la durée est + spécifiée dans un format autre qu'un nombre de secondes, elle doit + être entourée de guillemets.

+ +

Si cette directive est absente, la durée de vie des cookies est + limitée à la session actuelle du navigateur.

+ +
CookieExpires "3 weeks"
+ + +
+
top
+

Directive CookieName

+ + + + + + + + +
Description:Nom du cookie traceur
Syntaxe:CookieName symbole
Défaut:CookieName Apache
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Extension
Module:mod_usertrack
+

Cette directive vous permet de modifier le nom du cookie que ce + module utilise pour sa journalisation. Le nom par défaut du cookie + est "Apache".

+ +

Vous devez spécifier un nom de cookie valide ; les résultats sont + imprévisibles si vous utilisez un nom contenant des caractères + inhabituels. Les caractères valides font partie des intervales A-Z, + a-z, 0-9, "_", et "-".

+ +
CookieName clicktrack
+ + +
+
top
+

Directive CookieStyle

+ + + + + + + + +
Description:Format du champ d'en-tête cookie
Syntaxe:CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965
Défaut:CookieStyle Netscape
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Extension
Module:mod_usertrack
+

Cette directive permet de contrôler le format du champ d'en-tête + cookie. Les trois formats autorisés sont :

+ +
    +
  • Netscape : il s'agit du format original, mais + est maintenant obsolète. C'est le format par défaut et il + correspond à la syntaxe historique utilisée par Apache.
  • + +
  • Cookie ou RFC2109 : c'est la + syntaxe qui remplace la syntaxe Netscape.
  • + +
  • Cookie2 ou RFC2965 : c'est + la syntaxe de cookie la plus actuelle.
  • +
+ +

Tous les clients ne supportent pas l'ensemble de ces formats, + mais il est conseillé d'utiliser le plus récent qui sera en général + supporté par le navigateur de votre utilisateur. A l'heure où ce + document est écrit, la plupart des navigateurs supportent ces trois + formats, Cookie2 étant le format recommandé.

+ +
CookieStyle Cookie2
+ + +
+
top
+

Directive CookieTracking

+ + + + + + + + +
Description:Active le cookie traceur
Syntaxe:CookieTracking on|off
Défaut:CookieTracking off
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride:FileInfo
Statut:Extension
Module:mod_usertrack
+

Lorsque le module mod_usertrack est chargé, et + si CookieTracking on est définie, Apache enverra un + cookie traceur pour toute nouvelle requête. Cette directive peut + être utilisée pour activer ou désactiver ce comportement pour un + serveur virtuel ou un répertoire. Par défaut, l'activation de + mod_usertrack ne suffit pas pour + activer les cookies.

+ +
CookieTracking on
+ + + +
+
+
+

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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_usertrack.xml.fr b/docs/manual/mod/mod_usertrack.xml.fr new file mode 100644 index 0000000000..0791ac78ea --- /dev/null +++ b/docs/manual/mod/mod_usertrack.xml.fr @@ -0,0 +1,235 @@ + + + + + + + + + + +mod_usertrack + +Journalisation Clickstream des liens parcourus par un +utilisateur sur un site + +Extension +mod_usertrack.c +usertrack_module + + +

Ce module permet de suivre le parcours d'un utilisateur à travers + votre site web en faisant appel aux cookies de navigateur.

+
+ + +
+Journalisation + +

mod_usertrack définit un cookie qui peut être + journalisé via les formats configurables du module + mod_log_config :

+ + +LogFormat "%{Apache}n %r %t" usertrack +CustomLog "logs/clickstream.log" usertrack + + + +
+ + +CookieDomain +Le domaine auquel le cookie traceur +s'applique +CookieDomain domaine + +server config +virtual host +directory +.htaccess + +FileInfo + + + +

Cette directive permet de définir le domaine auquel le cookie + traceur s'applique. Si elle n'est pas présente, aucun domaine n'est + inclus dans le champ d'en-tête cookie.

+ +

La chaîne dommaine doit commencer par un point, + et doit comporter au moins un point entouré + d'autres caractères. Par exemple, .example.com est + une chaîne valide, mais www.example.com et + .com ne le sont pas.

+ + La plupart des navigateurs utilisés actuellement n'autorisent + pas la définition de cookies pour un domaine racine de deux niveaux, + tel que .co.uk, bien qu'un tel domaine remplisse les + conditions de validité décrites ci-dessus.
+ + Ces domaines sont équivalents à des domaines racines comme + .com, et autoriser de tels cookies peut constituer un + risque en matière de sécurité. Ainsi, si vous vous situez sous un + domaine racine de deux niveaux, vous devez encore utiliser votre + domaine véritable, comme vous le feriez avec tout autre domaine + racine (par exemple .example.co.uk). +
+ + + CookieDomain .example.com + +
+
+ + + +CookieExpires +Durée avant expiration du cookie traceur +CookieExpires durée + +server config +virtual host +directory +.htaccess + +FileInfo + + +

Lorsqu'elle est utilisée, cette directive définit une durée avant + l'expiration du cookie généré par le module usertrack. La + durée peut être spécifiée sous la forme d'un nombre de + secondes, ou sous une forme du + style "2 weeks 3 days 7 hours". les termes valides sont : years, + months, weeks, days, hours, minutes et seconds. Si la durée est + spécifiée dans un format autre qu'un nombre de secondes, elle doit + être entourée de guillemets.

+ +

Si cette directive est absente, la durée de vie des cookies est + limitée à la session actuelle du navigateur.

+ + + CookieExpires "3 weeks" + +
+
+ + +CookieName +Nom du cookie traceur +CookieName symbole +CookieName Apache + +server config +virtual host +directory +.htaccess + +FileInfo + + +

Cette directive vous permet de modifier le nom du cookie que ce + module utilise pour sa journalisation. Le nom par défaut du cookie + est "Apache".

+ +

Vous devez spécifier un nom de cookie valide ; les résultats sont + imprévisibles si vous utilisez un nom contenant des caractères + inhabituels. Les caractères valides font partie des intervales A-Z, + a-z, 0-9, "_", et "-".

+ + + CookieName clicktrack + +
+ +
+ + +CookieStyle +Format du champ d'en-tête cookie +CookieStyle + Netscape|Cookie|Cookie2|RFC2109|RFC2965 +CookieStyle Netscape + +server config +virtual host +directory +.htaccess + +FileInfo + + +

Cette directive permet de contrôler le format du champ d'en-tête + cookie. Les trois formats autorisés sont :

+ +
    +
  • Netscape : il s'agit du format original, mais + est maintenant obsolète. C'est le format par défaut et il + correspond à la syntaxe historique utilisée par Apache.
  • + +
  • Cookie ou RFC2109 : c'est la + syntaxe qui remplace la syntaxe Netscape.
  • + +
  • Cookie2 ou RFC2965 : c'est + la syntaxe de cookie la plus actuelle.
  • +
+ +

Tous les clients ne supportent pas l'ensemble de ces formats, + mais il est conseillé d'utiliser le plus récent qui sera en général + supporté par le navigateur de votre utilisateur. A l'heure où ce + document est écrit, la plupart des navigateurs supportent ces trois + formats, Cookie2 étant le format recommandé.

+ + + CookieStyle Cookie2 + +
+
+ + + + +CookieTracking +Active le cookie traceur +CookieTracking on|off +CookieTracking off + +server config +virtual host +directory +.htaccess + +FileInfo + + +

Lorsque le module mod_usertrack est chargé, et + si CookieTracking on est définie, Apache enverra un + cookie traceur pour toute nouvelle requête. Cette directive peut + être utilisée pour activer ou désactiver ce comportement pour un + serveur virtuel ou un répertoire. Par défaut, l'activation de + mod_usertrack ne suffit pas pour + activer les cookies.

+ + + CookieTracking on + + +
+
+ +
diff --git a/docs/manual/mod/mod_usertrack.xml.meta b/docs/manual/mod/mod_usertrack.xml.meta index ee41117f20..8a7ae2254a 100644 --- a/docs/manual/mod/mod_usertrack.xml.meta +++ b/docs/manual/mod/mod_usertrack.xml.meta @@ -8,5 +8,6 @@ en + fr diff --git a/docs/manual/mod/mod_vhost_alias.html b/docs/manual/mod/mod_vhost_alias.html index 62ad4bdf81..de993fc29b 100644 --- a/docs/manual/mod/mod_vhost_alias.html +++ b/docs/manual/mod/mod_vhost_alias.html @@ -4,6 +4,10 @@ URI: mod_vhost_alias.html.en Content-Language: en Content-type: text/html; charset=ISO-8859-1 +URI: mod_vhost_alias.html.fr +Content-Language: fr +Content-type: text/html; charset=ISO-8859-1 + URI: mod_vhost_alias.html.tr.utf8 Content-Language: tr Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mod_vhost_alias.html.fr b/docs/manual/mod/mod_vhost_alias.html.fr new file mode 100644 index 0000000000..c1c97cf001 --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.html.fr @@ -0,0 +1,385 @@ + + + + + +mod_vhost_alias - Serveur Apache HTTP Version 2.5 + + + + + + + + +
<-
+ +
+

Module Apache mod_vhost_alias

+
+

Langues Disponibles:  en  | + fr  | + tr 

+
+ + + +
Description:Permet de configurer dynamiquement l'hébergement virtuel de +masse
Statut:Extension
Identificateur de Module:vhost_alias_module
Fichier Source:mod_vhost_alias.c
+

Sommaire

+ +

Ce module permet de créer des serveurs virtuels configurés + dynamiquement, en autorisant l'utilisation de l'adresse IP et/ou de + l'en-tête Host: de la requête HTTP comme partie du nom + de chemin afin de déterminer les fichiers à servir. Ceci facilite la + gestion d'un grand nombre de serveurs virtuels possèdant des + configurations similaires.

+ +

Note

+

Si les modules mod_alias ou + mod_userdir sont utilisés pour traduire les URIs + en noms de fichiers, ils l'emportent sur les directives du module + mod_vhost_alias décrites ci-dessous. Par + exemple, la configuration suivante fera correspondre + /cgi-bin/script.pl à + /usr/local/apache2/cgi-bin/script.pl dans tous les cas :

+ +
ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
+VirtualScriptAlias "/never/found/%0/cgi-bin/"
+ +
+
+ +
top
+
+

Interpolation du nom de répertoire

+ + +

Toutes les directives de ce module insèrent une chaîne dans un + nom de chemin. La chaîne insérée (que nous appellerons maintenant le + "nom") peux être soit le nom du serveur (voir la directive + UseCanonicalName pour les + détails sur la manière dont il est déterminé), soit l'adresse IP du + serveur virtuel hébergé par le serveur sous la forme d'un quadruplet + d'octets séparés par des points. L'insertion est contrôlée par des + spécificateurs inspirés de printf et possèdant de + nombreux formats :

+ + + + + + + + + + + + +
%%insère un %
%pinsère le numéro de port du serveur virtuel
%N.Minsère le nom (en partie)
+ +

N et M permettent de spécifier des + sous-chaînes du nom. N sélectionne un des composants du + nom séparés par des points, et M sélectionne des + caractères à l'intérieur de ce que N a sélectionné. + M est optionnel et sa valeur par défaut est 0 s'il + n'est pas spécifié ; le point doit être présent si et seulement si + M l'est aussi. Les modes d'insertion sont les suivants + :

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
0le nom en entier
1la première partie
2la seconde partie
-1la dernière partir
-2l'avant-dernière partie
2+toutes les parties à partir de la seconde
-2+toutes les parties jusqu'à l'avant-dernière
1+ et -1+identique à 0
+ +

Si N ou M est plus grand que le nombre + de parties disponibles, seul un caractère de soulignement est + inséré.

+ +
top
+
+

Exemples

+ + +

Pour des serveurs virtuels simples à base de nom, utilisez les + directives suivantes dans le fichier de configuration de votre + serveur :

+ +
UseCanonicalName    Off
+VirtualDocumentRoot "/usr/local/apache/vhosts/%0"
+ + +

Une requête pour + http://www.example.com/repertoire/fichier.html + concernera alors la ressource + /usr/local/apache/vhosts/www.example.com/repertoire/fichier.html. +

+ +

Pour un très grand nombre de serveurs virtuels, il est avantageux + d'organiser les fichiers de façon à réduire la taille du répertoire + vhosts. Pour ce faire, insérez les lignes suivantes + dans votre fichier de configuration :

+ +
UseCanonicalName    Off
+VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2"
+ + +

Une requête pour + http://www.domaine.example.com/repertoire/fichier.html + concernera alors la ressource + /usr/local/apache/vhosts/example.com/d/o/m/domaine/repertoire/fichier.html.

+ +

Une répartition plus régulière des fichiers peut être obtenue en + partant de la fin d'un composant du nom, comme dans l'exemple + suivant :

+ +
VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2"
+ + +

La requête précédente concernerait alors + /usr/local/apache/vhosts/example.com/e/n/i/domaine/repertoire/fichier.html.

+ +

Vous pouvez aussi utiliser :

+ +
VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+"
+ + +

La requête précédente concernerait alors + /usr/local/apache/vhosts/example.com/d/o/m/aine/repertoire/fichier.html.

+ +

Une demande très courante des utilisateurs concerne la possibilité de + faire correspondre plusieurs racines de documents à plusieurs + domaines, sans avoir à se préoccuper de la longueur ou du nombre de + parties du nom d'hôte faisant partie de la requête. Si le nom d'hôte + de la requête est sub.www.domain.example.com au lieu de + simplement www.domain.example.com, alors en utilisant + %3+, la racine des documents sera + /usr/local/apache/vhosts/domain.example.com/... au + lieu du répertoire example.com attendu. Dans ce genre + de situation, il peut s'avérer préférable d'utiliser la combinaison + %-2.0.%-1.0 qui fournira toujours le nom de domaine et + le tld, par exemple example.com sans tenir compte du + nombre de sous-domaines ajoutés au nom d'hôte. Dans ces conditions, + il est possible d'élaborer une configuration qui associera les + sous-domaines de premier, second et troisième niveau au même + répertoire : +

+
VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"
+ +

+Dans l'exemple ci-dessus, www.example.com, +www.sub.example.com ou example.com +correspondront tous au répertoire +/usr/local/apache/vhosts/example.com. +

+ + + +

Pour l'hébergement virtuel à base d'adresse IP, vous pouvez + insérer les lignes suivantes dans votre fichier de configuration + :

+ +
UseCanonicalName DNS
+VirtualDocumentRootIP "/usr/local/apache/vhosts/%1/%2/%3/%4/docs"
+VirtualScriptAliasIP  "/usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin"
+ + +

Si l'adresse IP de www.domaine.example.com est + 10.20.30.40, une requête pour + http://www.domaine.example.com/repertoire/fichier.html + concernera la ressource + /usr/local/apache/vhosts/10/20/30/40/docs/repertoire/fichier.html. + Une requête pour + http://www.domaine.example.com/cgi-bin/script.pl + concernera la ressource + /usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl.

+ +

Si vous voulez insérer le caractère . dans une + directive VirtualDocumentRoot, et si cela crée un + conflit avec un spécificateur %, vous pouvez contourner + le problème de la manière suivante :

+ +
VirtualDocumentRoot "/usr/local/apache/vhosts/%2.0.%3.0"
+ + +

Une requête pour + http://www.domaine.example.com/repertoire/fichier.html + concernera alors la ressource + /usr/local/apache/vhosts/domaine.exemple/repertoire/fichier.html.

+ +

Les spécificateurs de format %V et %A + de la directive LogFormat s'avèrent très utiles + lorsqu'ils sont utilisés en conjonction avec ce module.

+
+
top
+

Directive VirtualDocumentRoot

+ + + + + + + +
Description:Permet une configuration dynamique de la racine des +documents d'un serveur virtuel donné
Syntaxe:VirtualDocumentRoot répertoire-interpolé|none
Défaut:VirtualDocumentRoot none
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_vhost_alias
+ +

La directive VirtualDocumentRoot vous + permet de spécifier où le serveur HTTP Apache pourra trouver vos + documents en se basant + sur le nom du serveur. Le résultat de l'expansion du + répertoire-interpolé est utilisé comme racine de + l'arborescence des documents d'une manière similaire à l'argument de + la directive DocumentRoot. Si + répertoire-interpolé a pour valeur none, la + directive VirtualDocumentRoot est désactivée. + Cette directive ne peut pas être utilisée dans le même contexte que + la directive VirtualDocumentRootIP.

+ +

Note

+La directive VirtualDocumentRoot l'emporte sur +toute directive DocumentRoot +définie dans le même contexte ou dans des contextes enfants. Le fait de +définir une directive VirtualDocumentRoot dans le +contexte du serveur principal va effectivement l'emporter sur toute +directive DocumentRoot définie dans +un serveur virtuel quelconque, si vous n'avez pas défini +VirtualDocumentRoot à None dans ce +serveur virtuel. +
+ + +
+
top
+

Directive VirtualDocumentRootIP

+ + + + + + + +
Description:Configuration dynamique de la racine des documents pour un +serveur virtuel donné
Syntaxe:VirtualDocumentRootIP répertoire-interpolé|none
Défaut:VirtualDocumentRootIP none
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_vhost_alias
+ +

La directive VirtualDocumentRootIP est +identique à la directive VirtualDocumentRoot à l'exception +près qu'elle utilise l'adresse IP du serveur virtuel pour +l'interpolation du répertoire à la place du nom du serveur.

+ +
+
top
+

Directive VirtualScriptAlias

+ + + + + + + +
Description:Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné
Syntaxe:VirtualScriptAlias répertoire-interpolé|none
Défaut:VirtualScriptAlias none
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_vhost_alias
+ +

La directive VirtualScriptAlias vous + permet de spécifier où Apache httpd pourra trouver les scripts CGI selon une + méthode similaire à celle qu'utilise la directive VirtualDocumentRoot pour les + autres documents. Elle recherche des requêtes dont l'URI commence + par /cgi-bin/, comme le ferait la directive ScriptAlias.

+ + +
+
top
+

Directive VirtualScriptAliasIP

+ + + + + + + +
Description:Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné
Syntaxe:VirtualScriptAliasIP répertoire-interpolé|none
Défaut:VirtualScriptAliasIP none
Contexte:configuration du serveur, serveur virtuel
Statut:Extension
Module:mod_vhost_alias
+ +

La directive VirtualScriptAliasIP est + identique à la directive VirtualScriptAlias à + l'exception près qu'elle utilise l'adresse IP du serveur virtuel + pour l'interpolation du répertoire à la place du nom du serveur.

+ + +
+
+
+

Langues Disponibles:  en  | + fr  | + tr 

+
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.
+
+ \ No newline at end of file diff --git a/docs/manual/mod/mod_vhost_alias.xml.fr b/docs/manual/mod/mod_vhost_alias.xml.fr new file mode 100644 index 0000000000..7ccf03727e --- /dev/null +++ b/docs/manual/mod/mod_vhost_alias.xml.fr @@ -0,0 +1,361 @@ + + + + + + + + + + + +mod_vhost_alias +Permet de configurer dynamiquement l'hébergement virtuel de +masse +Extension +mod_vhost_alias.c +vhost_alias_module + + +

Ce module permet de créer des serveurs virtuels configurés + dynamiquement, en autorisant l'utilisation de l'adresse IP et/ou de + l'en-tête Host: de la requête HTTP comme partie du nom + de chemin afin de déterminer les fichiers à servir. Ceci facilite la + gestion d'un grand nombre de serveurs virtuels possèdant des + configurations similaires.

+ + Note +

Si les modules mod_alias ou + mod_userdir sont utilisés pour traduire les URIs + en noms de fichiers, ils l'emportent sur les directives du module + mod_vhost_alias décrites ci-dessous. Par + exemple, la configuration suivante fera correspondre + /cgi-bin/script.pl à + /usr/local/apache2/cgi-bin/script.pl dans tous les cas :

+ + +ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/" +VirtualScriptAlias "/never/found/%0/cgi-bin/" + +
+
+ +UseCanonicalName +Configuration dynamique de +l'hébergement virtuel de masse + +
+ Interpolation du nom de répertoire + +

Toutes les directives de ce module insèrent une chaîne dans un + nom de chemin. La chaîne insérée (que nous appellerons maintenant le + "nom") peux être soit le nom du serveur (voir la directive + UseCanonicalName pour les + détails sur la manière dont il est déterminé), soit l'adresse IP du + serveur virtuel hébergé par le serveur sous la forme d'un quadruplet + d'octets séparés par des points. L'insertion est contrôlée par des + spécificateurs inspirés de printf et possèdant de + nombreux formats :

+ + + + + + + + + + + + +
%%insère un %
%pinsère le numéro de port du serveur virtuel
%N.Minsère le nom (en partie)
+ +

N et M permettent de spécifier des + sous-chaînes du nom. N sélectionne un des composants du + nom séparés par des points, et M sélectionne des + caractères à l'intérieur de ce que N a sélectionné. + M est optionnel et sa valeur par défaut est 0 s'il + n'est pas spécifié ; le point doit être présent si et seulement si + M l'est aussi. Les modes d'insertion sont les suivants + :

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
0le nom en entier
1la première partie
2la seconde partie
-1la dernière partir
-2l'avant-dernière partie
2+toutes les parties à partir de la seconde
-2+toutes les parties jusqu'à l'avant-dernière
1+ et -1+identique à 0
+ +

Si N ou M est plus grand que le nombre + de parties disponibles, seul un caractère de soulignement est + inséré.

+ +
+ +
+ Exemples + +

Pour des serveurs virtuels simples à base de nom, utilisez les + directives suivantes dans le fichier de configuration de votre + serveur :

+ + +UseCanonicalName Off +VirtualDocumentRoot "/usr/local/apache/vhosts/%0" + + +

Une requête pour + http://www.example.com/repertoire/fichier.html + concernera alors la ressource + /usr/local/apache/vhosts/www.example.com/repertoire/fichier.html. +

+ +

Pour un très grand nombre de serveurs virtuels, il est avantageux + d'organiser les fichiers de façon à réduire la taille du répertoire + vhosts. Pour ce faire, insérez les lignes suivantes + dans votre fichier de configuration :

+ + +UseCanonicalName Off +VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2" + + +

Une requête pour + http://www.domaine.example.com/repertoire/fichier.html + concernera alors la ressource + /usr/local/apache/vhosts/example.com/d/o/m/domaine/repertoire/fichier.html.

+ +

Une répartition plus régulière des fichiers peut être obtenue en + partant de la fin d'un composant du nom, comme dans l'exemple + suivant :

+ + + VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2" + + +

La requête précédente concernerait alors + /usr/local/apache/vhosts/example.com/e/n/i/domaine/repertoire/fichier.html.

+ +

Vous pouvez aussi utiliser :

+ + + VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+" + + +

La requête précédente concernerait alors + /usr/local/apache/vhosts/example.com/d/o/m/aine/repertoire/fichier.html.

+ +

Une demande très courante des utilisateurs concerne la possibilité de + faire correspondre plusieurs racines de documents à plusieurs + domaines, sans avoir à se préoccuper de la longueur ou du nombre de + parties du nom d'hôte faisant partie de la requête. Si le nom d'hôte + de la requête est sub.www.domain.example.com au lieu de + simplement www.domain.example.com, alors en utilisant + %3+, la racine des documents sera + /usr/local/apache/vhosts/domain.example.com/... au + lieu du répertoire example.com attendu. Dans ce genre + de situation, il peut s'avérer préférable d'utiliser la combinaison + %-2.0.%-1.0 qui fournira toujours le nom de domaine et + le tld, par exemple example.com sans tenir compte du + nombre de sous-domaines ajoutés au nom d'hôte. Dans ces conditions, + il est possible d'élaborer une configuration qui associera les + sous-domaines de premier, second et troisième niveau au même + répertoire : +

+ + VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0" + +

+Dans l'exemple ci-dessus, www.example.com, +www.sub.example.com ou example.com +correspondront tous au répertoire +/usr/local/apache/vhosts/example.com. +

+ + + +

Pour l'hébergement virtuel à base d'adresse IP, vous pouvez + insérer les lignes suivantes dans votre fichier de configuration + :

+ + +UseCanonicalName DNS +VirtualDocumentRootIP "/usr/local/apache/vhosts/%1/%2/%3/%4/docs" +VirtualScriptAliasIP "/usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin" + + +

Si l'adresse IP de www.domaine.example.com est + 10.20.30.40, une requête pour + http://www.domaine.example.com/repertoire/fichier.html + concernera la ressource + /usr/local/apache/vhosts/10/20/30/40/docs/repertoire/fichier.html. + Une requête pour + http://www.domaine.example.com/cgi-bin/script.pl + concernera la ressource + /usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl.

+ +

Si vous voulez insérer le caractère . dans une + directive VirtualDocumentRoot, et si cela crée un + conflit avec un spécificateur %, vous pouvez contourner + le problème de la manière suivante :

+ + + VirtualDocumentRoot "/usr/local/apache/vhosts/%2.0.%3.0" + + +

Une requête pour + http://www.domaine.example.com/repertoire/fichier.html + concernera alors la ressource + /usr/local/apache/vhosts/domaine.exemple/repertoire/fichier.html.

+ +

Les spécificateurs de format %V et %A + de la directive LogFormat s'avèrent très utiles + lorsqu'ils sont utilisés en conjonction avec ce module.

+
+ + +VirtualDocumentRoot +Permet une configuration dynamique de la racine des +documents d'un serveur virtuel donné +VirtualDocumentRoot répertoire-interpolé|none +VirtualDocumentRoot none + +server config +virtual host + + + + +

La directive VirtualDocumentRoot vous + permet de spécifier où le serveur HTTP Apache pourra trouver vos + documents en se basant + sur le nom du serveur. Le résultat de l'expansion du + répertoire-interpolé est utilisé comme racine de + l'arborescence des documents d'une manière similaire à l'argument de + la directive DocumentRoot. Si + répertoire-interpolé a pour valeur none, la + directive VirtualDocumentRoot est désactivée. + Cette directive ne peut pas être utilisée dans le même contexte que + la directive VirtualDocumentRootIP.

+ +Note +La directive VirtualDocumentRoot l'emporte sur +toute directive DocumentRoot +définie dans le même contexte ou dans des contextes enfants. Le fait de +définir une directive VirtualDocumentRoot dans le +contexte du serveur principal va effectivement l'emporter sur toute +directive DocumentRoot définie dans +un serveur virtuel quelconque, si vous n'avez pas défini +VirtualDocumentRoot à None dans ce +serveur virtuel. + + +
+
+ + +VirtualDocumentRootIP +Configuration dynamique de la racine des documents pour un +serveur virtuel donné +VirtualDocumentRootIP répertoire-interpolé|none +VirtualDocumentRootIP none + +server config +virtual host + + + + +

La directive VirtualDocumentRootIP est +identique à la directive VirtualDocumentRoot à l'exception +près qu'elle utilise l'adresse IP du serveur virtuel pour +l'interpolation du répertoire à la place du nom du serveur.

+
+
+ + +VirtualScriptAlias +Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné +VirtualScriptAlias répertoire-interpolé|none +VirtualScriptAlias none + +server config +virtual host + + + + +

La directive VirtualScriptAlias vous + permet de spécifier où Apache httpd pourra trouver les scripts CGI selon une + méthode similaire à celle qu'utilise la directive VirtualDocumentRoot pour les + autres documents. Elle recherche des requêtes dont l'URI commence + par /cgi-bin/, comme le ferait la directive ScriptAlias.

+ +
+
+ + +VirtualScriptAliasIP +Configuration dynamique du répertoire des scripts CGI pour +un serveur virtuel donné +VirtualScriptAliasIP répertoire-interpolé|none +VirtualScriptAliasIP none + +server config +virtual host + + + + +

La directive VirtualScriptAliasIP est + identique à la directive VirtualScriptAlias à + l'exception près qu'elle utilise l'adresse IP du serveur virtuel + pour l'interpolation du répertoire à la place du nom du serveur.

+ +
+ +
+
+ diff --git a/docs/manual/mod/mod_vhost_alias.xml.meta b/docs/manual/mod/mod_vhost_alias.xml.meta index 4296658747..519409a51f 100644 --- a/docs/manual/mod/mod_vhost_alias.xml.meta +++ b/docs/manual/mod/mod_vhost_alias.xml.meta @@ -8,6 +8,7 @@ en + fr tr