From 10f185528f2067a9fbe4009a549ed54ae80fb1b3 Mon Sep 17 00:00:00 2001 From: Lucien Gentis Date: Thu, 17 May 2012 15:09:35 +0000 Subject: [PATCH] Updates. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1339631 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/content-negotiation.xml.fr | 12 +- docs/manual/misc/perf-tuning.xml.fr | 150 +++++++++---------- docs/manual/misc/security_tips.xml.fr | 30 ++-- docs/manual/rewrite/flags.xml.fr | 74 ++++------ docs/manual/rewrite/intro.xml.fr | 25 ++-- docs/manual/ssl/ssl_faq.xml.fr | 42 +++--- docs/manual/ssl/ssl_howto.xml.fr | 191 ++++++++++++------------- docs/manual/suexec.xml.fr | 10 +- docs/manual/upgrading.xml.fr | 34 +++-- docs/manual/urlmapping.xml.fr | 36 +++-- 10 files changed, 307 insertions(+), 297 deletions(-) diff --git a/docs/manual/content-negotiation.xml.fr b/docs/manual/content-negotiation.xml.fr index 7d47bec9dfa..e3c6c654544 100644 --- a/docs/manual/content-negotiation.xml.fr +++ b/docs/manual/content-negotiation.xml.fr @@ -3,7 +3,7 @@ - + + @@ -265,15 +265,11 @@ DocumentRoot /www/htdocs Il y a cependant un cas dans lequel vous pouvez accélérer le serveur. Au lieu d'utiliser une directive générique comme :

- - DirectoryIndex index - + DirectoryIndex index

utilisez une liste explicite d'options :

- - DirectoryIndex index.cgi index.pl index.shtml index.html - + DirectoryIndex index.cgi index.pl index.shtml index.html

où vous placez le choix courant en première position.

@@ -467,6 +463,12 @@ DocumentRoot /www/htdocs serveurs présentant un traffic important car il possède une empreinte mémoire plus petite que le MPM prefork. +
  • Comme le MPM Worker, le MPM event utilise + les threads, mais il a été conçu pour traiter davantage de + requêtes simultanément en confiant une partie du travail à des + threads de support, ce qui permet aux threads principaux de + traiter de nouvelles requêtes.
  • +
  • Le MPM prefork utilise plusieurs processus enfants possédant chacun un seul thread. Chaque processus gère une seule connexion à la fois. Sur de nombreux systèmes, prefork est comparable @@ -619,27 +621,27 @@ DocumentRoot /www/htdocs proposés qu'à des fins pédagogiques) :

    -for (;;) { - for (;;) { - fd_set accept_fds; - - FD_ZERO (&accept_fds); - for (i = first_socket; i <= last_socket; ++i) { - FD_SET (i, &accept_fds); - } - rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL); - if (rc < 1) continue; - new_connection = -1; - for (i = first_socket; i <= last_socket; ++i) { - if (FD_ISSET (i, &accept_fds)) { - new_connection = accept (i, NULL, NULL); - if (new_connection != -1) break; - } - } - if (new_connection != -1) break; - } - process the new_connection; -} + for (;;) { + for (;;) { + fd_set accept_fds; + + FD_ZERO (&accept_fds); + for (i = first_socket; i <= last_socket; ++i) { + FD_SET (i, &accept_fds); + } + rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL); + if (rc < 1) continue; + new_connection = -1; + for (i = first_socket; i <= last_socket; ++i) { + if (FD_ISSET (i, &accept_fds)) { + new_connection = accept (i, NULL, NULL); + if (new_connection != -1) break; + } + } + if (new_connection != -1) break; + } + process_the(new_connection); + }

    Mais cette implémentation rudimentaire présente une sérieuse lacune. @@ -680,29 +682,29 @@ for (;;) { différences sont mises en surbrillance) :

    -for (;;) { - accept_mutex_on (); - for (;;) { - fd_set accept_fds; - - FD_ZERO (&accept_fds); - for (i = first_socket; i <= last_socket; ++i) { - FD_SET (i, &accept_fds); - } - rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL); - if (rc < 1) continue; - new_connection = -1; - for (i = first_socket; i <= last_socket; ++i) { - if (FD_ISSET (i, &accept_fds)) { - new_connection = accept (i, NULL, NULL); - if (new_connection != -1) break; - } - } - if (new_connection != -1) break; - } - accept_mutex_off (); - process the new_connection; -} + for (;;) { + accept_mutex_on (); + for (;;) { + fd_set accept_fds; + + FD_ZERO (&accept_fds); + for (i = first_socket; i <= last_socket; ++i) { + FD_SET (i, &accept_fds); + } + rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL); + if (rc < 1) continue; + new_connection = -1; + for (i = first_socket; i <= last_socket; ++i) { + if (FD_ISSET (i, &accept_fds)) { + new_connection = accept (i, NULL, NULL); + if (new_connection != -1) break; + } + } + if (new_connection != -1) break; + } + accept_mutex_off (); + process the new_connection; + }

    Les fonctions @@ -817,29 +819,29 @@ for (;;) { ceci :

    -void lingering_close (int s) -{ - char junk_buffer[2048]; - - /* shutdown the sending side */ - shutdown (s, 1); - - signal (SIGALRM, lingering_death); - alarm (30); - - for (;;) { - select (s for reading, 2 second timeout); - if (error) break; - if (s is ready for reading) { - if (read (s, junk_buffer, sizeof (junk_buffer)) <= 0) { - break; - } - /* just toss away whatever is here */ - } - } - - close (s); -} + void lingering_close (int s) + { + char junk_buffer[2048]; + + /* shutdown the sending side */ + shutdown (s, 1); + + signal (SIGALRM, lingering_death); + alarm (30); + + for (;;) { + select (s for reading, 2 second timeout); + if (error) break; + if (s is ready for reading) { + if (read (s, junk_buffer, sizeof (junk_buffer)) <= 0) { + break; + } + /* just toss away whatever is here */ + } + } + + close (s); + }

    Ceci ajoute naturellement un peu de charge à la fin d'une connexion, diff --git a/docs/manual/misc/security_tips.xml.fr b/docs/manual/misc/security_tips.xml.fr index 88ad6b9d06a..0e507e77149 100644 --- a/docs/manual/misc/security_tips.xml.fr +++ b/docs/manual/misc/security_tips.xml.fr @@ -1,7 +1,7 @@ - + @@ -337,8 +337,8 @@

    Ajoutez dans le fichier de configuration du serveur

    -<Directory /> - AllowOverride None +<Directory /> + AllowOverride None </Directory> @@ -371,8 +371,8 @@ <Directory /> -Order Deny,Allow -Deny from all + Order Deny,Allow + Deny from all </Directory> @@ -383,12 +383,12 @@ Deny from all <Directory /usr/users/*/public_html> - Order Deny,Allow - Allow from all -</Directory> -<Directory /usr/local/httpd> - Order Deny,Allow - Allow from all + Order Deny,Allow + Allow from all +</Directory> +<Directory /usr/local/httpd> + Order Deny,Allow + Allow from all </Directory> @@ -405,9 +405,7 @@ Deny from all fortement d'inclure la ligne suivante dans le fichier de configuration de votre serveur :

    - - UserDir disabled root - + UserDir disabled root @@ -455,8 +453,8 @@ Deny from all <Files ".ht*"> - Order allow,deny - Deny from all + Order allow,deny + Deny from all </Files> diff --git a/docs/manual/rewrite/flags.xml.fr b/docs/manual/rewrite/flags.xml.fr index 36c5c934e56..1cc6b355080 100644 --- a/docs/manual/rewrite/flags.xml.fr +++ b/docs/manual/rewrite/flags.xml.fr @@ -1,7 +1,7 @@ - + @@ -49,9 +49,7 @@ correspondance module="mod_rewrite">RewriteRule peut être modifié par un ou plusieurs drapeaux. Les drapeaux sont situés en fin de règle, entourés de crochets, et séparés le cas échéant par des virgules.

    - -RewriteRule modèle cible [drapeau1,drapeau2,drapeau3] - +RewriteRule pattern target [Flag1,Flag2,Flag3]

    Les drapeaux ont tous une forme courte, comme CO, ainsi qu'une forme longue, comme cookie. Certains drapeaux @@ -86,9 +84,7 @@ ces dernières sont appliquées. Avec le drapeau B, les caract&egrav non-alphanumériques des références arrières seront échappés. Considérons par exemple cette règle :

    - -RewriteRule ^search/(.*)$ /search.php?term=$1 - +RewriteRule ^search/(.*)$ /search.php?term=$1

    Soit le terme de recherche 'x & y/z' ; un navigateur va le coder en 'x%20%26%20y%2Fz', transformant la requête en @@ -183,7 +179,7 @@ fonctionnalité.

    Voici un exemple :

    -RewriteEngine On
    +RewriteEngine On RewriteRule ^/index\.html - [CO=frontdoor:yes:.example.org:1440:/]
    @@ -272,10 +268,10 @@ avec une valeur de '1' si l'URI de la requête correspond à un fichi image. Cette variable d'environnement est ensuite utilisée pour exclure une telle requête du journal des accès.

    - -RewriteRule \.(png|gif|jpg) - [E=image:1] + +RewriteRule \.(png|gif|jpg) - [E=image:1]
    CustomLog logs/access_log combined env=!image -
    +

    Notez que le même effet peut être obtenu à l'aide de la directive SetEnvIf. Cette technique @@ -302,9 +298,7 @@ Forbidden.

    La règle suivante va interdire la téléchargement de fichiers .exe depuis votre serveur.

    - -RewriteRule \.exe - [F] - +RewriteRule \.exe - [F]

    Cet exemple utilise la syntaxe "-" pour la cible de réécriture, ce qui signifie que l'URI de la requête n'est pas modifié. Il n'y a aucune @@ -324,9 +318,7 @@ disponible auparavant ne l'est plus actuellement.

    Comme dans le cas du drapeau [F], on utilise en général la syntaxe "-" pour la cible de réécriture lorsqu'on utilise le drapeau [G] :

    - -RewriteRule ancienne-ressource - [G,NC] - +RewriteRule oldproduct - [G,NC]

    Lorsqu'on utilise [G], [L] est implicite - c'est à dire que la réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.

    @@ -339,9 +331,8 @@ spécifié. Par exemple, on peut utiliser ce drapeau pour forcer l'interprétation de tous les fichiers sans extension par le gestionnaire php :

    - -RewriteRule !\. - [H=application/x-httpd-php] - +RewriteRule !\. - +[H=application/x-httpd-php]

    L'expression rationnelle ci-dessus - !\. - correspond à @@ -436,9 +427,7 @@ suivant, chaque occurence de A sera remplacée par B dans la requête ceci jusqu'il n'y ait plus de A à remplacer.

    - -RewriteRule (.*)A(.*) $1B$2 [N] - +RewriteRule (.*)A(.*) $1B$2 [N]

    Vous pouvez vous représenter ce traitement comme une boucle while : tant que le modèle de la règle correspond (c'est à @@ -460,9 +449,7 @@ transmise par Apache à votre serveur d'images dédié. La cor insensible à la casse, si bien que par exemple, .jpg aussi bien que .JPG seront acceptés.

    - -RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC] - +RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]
    NE|noescape @@ -471,9 +458,7 @@ RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC] hexadécimal. Le drapeau [NE] permet d'éviter cette conversion.

    - -RewriteRule ^/ancre/(.+) /grosse-page.html#$1 [NE,R] - +RewriteRule ^/anchor/(.+) /bigpage.html#$1 [NE,R]

    Dans l'exemple ci-dessus, /anchor/xyz est réécrit en @@ -518,9 +503,7 @@ mandataire. Par exemple, si vous voulez que toutes les requêtes d'images soient traitées par un serveur d'images annexe, vous pouvez utiliser une règle de ce style :

    - -RewriteRule /(.*)\.(jpg|gif|png) http://images.example.com/$1.$2 [P] - +RewriteRule /(.*)\.(jpg|gif|png)$ http://images.example.com/$1.$2 [P]

    L'utilisation du drapeau [P] provoque aussi l'effet du drapeau [L] - autrement dit, la requête est immédiatement envoyée au mandataire, et @@ -577,8 +560,8 @@ module="mod_alias">Alias sera bien évalué.

    -Alias /icons /usr/local/apache/icons
    -RewriteRule /pics/(.+)\.jpg /icons/$1.gif [PT] +Alias /icons /usr/local/apache/icons +RewriteRule /pics/(.+)\.jpg$ /icons/$1.gif [PT]

    @@ -611,9 +594,8 @@ Avec le drapeau [QSA], les chaînes de requête peuvent être com

    Considérons la règle suivante :

    - -RewriteRule /pages/(.+) /page.php?page=$1 [QSA] - +RewriteRule /pages/(.+) /page.php?page=$1 +[QSA]

    Avec le drapeau [QSA], une requête pour /pages/123?one=two sera réécrite en @@ -694,7 +676,6 @@ Ceci peut s'interpréter comme une instruction l'exemple suivant, nous ne voulons exécuter la règle RewriteRule que si l'URI demandé ne correspond pas à un fichier existant.

    - # La requête concerne-t-elle un fichier qui n'existe pas ? RewriteCond %{REQUEST_FILENAME} !-f @@ -706,6 +687,8 @@ RewriteRule (.*\.gif) images.php?$1 RewriteRule (.*\.html) docs.php?$1 + +

    Cette technique trouve son utilité dans le fait qu'une directive RewriteCond ne s'applique qu'à la règle qui la suit immédiatement. Ainsi, si vous voulez @@ -719,17 +702,16 @@ contenues dans le bloc else :

    # Est-ce que le fichier existe ? RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d - -# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza.
    +# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza. RewriteRule .? - [S=3] # Si le fichier existe, alors : - RewriteRule (.*\.gif) images.php?$1 - RewriteRule (.*\.html) docs.php?$1 - # Skip past the "else" stanza. - RewriteRule .? - [S=1] +RewriteRule (.*\.gif) images.php?$1 + RewriteRule (.*\.html) docs.php?$1 + # Skip past the "else" stanza. + RewriteRule .? - [S=1] # ELSE... - RewriteRule (.*) 404.php?file=$1 +RewriteRule (.*) 404.php?file=$1 # END @@ -759,7 +741,7 @@ images jpeg sans extension, vous pouvez forcer le renvoi de ces images avec le type MIME correct en se basant sur le nom du fichier :

    -# Les fichiers dont le nom contient 'IMG' sont des images jpg.
    +# Les fichiers dont le nom contient 'IMG' sont des images jpg. RewriteRule IMG - [T=image/jpg]
    diff --git a/docs/manual/rewrite/intro.xml.fr b/docs/manual/rewrite/intro.xml.fr index 5b3dc311abe..ec12b91b731 100644 --- a/docs/manual/rewrite/intro.xml.fr +++ b/docs/manual/rewrite/intro.xml.fr @@ -1,7 +1,7 @@ - + @@ -206,12 +206,17 @@ transformée;
  • [drapeaux]: options affectant la requête réécrite.
  • -

    Le Modèle est toujours une expression -rationnelle comparée au chemin de l'URL de la requête entrante (la +

    Le Modèle est une expression +rationnelle. Au sein de la première règle de réécriture, ou jusqu'à +ce qu'une substitution survienne, elle est comparée au chemin de +l'URL de la requête entrante (la partie située après le nom d'hôte mais avant tout point d'interrogation qui indique le début d'une chaîne de paramètres de requête) ou, dans un contexte de répertoire, au chemin de la -requête relativement au répertoire pour lequel la règle est définie..

    +requête relativement au répertoire pour lequel la +règle est définie. Lorsqu'une substitution a eu lieu, les +règles suivantes effectuent leurs comparaisons par rapport à la valeur +substituée.

    Un chemin complet du système de fichiers vers une ressource
    - + RewriteRule ^/jeux /usr/local/jeux/web - +

    Ceci peut faire correspondre une requête à toute localisation voulue de votre système de fichiers, un peu comme la directive Alias.

    @@ -235,9 +240,9 @@ module="mod_alias">Alias.

    Un chemin web vers une ressource
    - + RewriteRule ^/foo$ /bar - +

    Si la directive DocumentRoot a pour valeur /usr/local/apache2/htdocs, cette règle va faire correspondre les requêtes pour http://example.com/foo au @@ -246,9 +251,9 @@ chemin /usr/local/apache2/htdocs/bar.

    Une URL absolue
    - + RewriteRule ^/produits/vues$ http://site2.example.com/voirproduits.html [R] - +

    Ceci informe le client qu'il doit effectuer une nouvelle requête vers l'URL spécifiée.

    diff --git a/docs/manual/ssl/ssl_faq.xml.fr b/docs/manual/ssl/ssl_faq.xml.fr index 963c62d27b6..e5bdd074f39 100644 --- a/docs/manual/ssl/ssl_faq.xml.fr +++ b/docs/manual/ssl/ssl_faq.xml.fr @@ -1,7 +1,7 @@ - + @@ -185,11 +185,11 @@ HTTPS dans les hyperliens relatifs ? hyperliens pleinement qualifiés (car vous devez modifier le schéma de l'URL). Cependant, à l'aide du module mod_rewrite, vous pouvez manipuler des hyperliens relatifs, pour obtenir le même effet.

    - - RewriteEngine on
    - RewriteRule ^/(.*)_SSL$ https://%{SERVER_NAME}/$1 [R,L]
    - RewriteRule ^/(.*)_NOSSL$ http://%{SERVER_NAME}/$1 [R,L] -
    + +RewriteEngine on +RewriteRule ^/(.*)_SSL$ https://%{SERVER_NAME}/$1 [R,L] +RewriteRule ^/(.*)_NOSSL$ http://%{SERVER_NAME}/$1 [R,L] +

    Ce jeu de règles rewrite vous permet d'utiliser des hyperliens de la forme <a href="document.html_SSL"> pour passer en HTTPS @@ -269,10 +269,10 @@ fins de test ? -keyout server.key
    Ces fichiers seront utilisés comme suit dans votre httpd.conf : -

    -             SSLCertificateFile    /chemin/vers/server.crt
    -             SSLCertificateKeyFile /chemin/vers/server.key
    -	
    + +SSLCertificateFile /path/to/this/server.crt +SSLCertificateKeyFile /path/to/this/server.key +
  • Il est important de savoir que le fichier server.key n'a pas de mot de passe. Pour ajouter un mot de passe à la clé, vous @@ -352,10 +352,10 @@ fins de test ?
  • Vous devez maintenant disposer de deux fichiers : server.key et server.crt. Ils sont précisés dans votre fichier httpd.conf comme suit : -
    -       SSLCertificateFile    /chemin/vers/server.crt
    -       SSLCertificateKeyFile /chemin vers/server.key
    -       
    + +SSLCertificateFile /path/to/this/server.crt +SSLCertificateKeyFile /path/to/this/server.key + Le fichier server.csr n'est plus nécessaire.
  • @@ -705,9 +705,9 @@ pour différencier plusieurs hôtes virtuels ? (sur le port 443). Mais dans ce cas, vous devez définir le numéro de port non-SSL à l'aide de la directive NameVirtualHost dans ce style :

    - + NameVirtualHost 192.168.1.1:80 - +

    il existe d'autres solutions alternatives comme :

    @@ -764,11 +764,11 @@ versions de MSIE. Vous pouvez contourner ces problèmes en interdisant ou l'envoi de messages de notification de fermeture de session SSL aux clients MSIE. Pour cela, vous pouvez utiliser la directive suivante dans votre section d'hôte virtuel avec support SSL :

    - - SetEnvIf User-Agent "MSIE [2-5]" \
    - nokeepalive ssl-unclean-shutdown \
    - downgrade-1.0 force-response-1.0 -
    + +SetEnvIf User-Agent "MSIE [2-5]" \ + nokeepalive ssl-unclean-shutdown \ + downgrade-1.0 force-response-1.0 +

    En outre, certaines versions de MSIE ont des problèmes avec des algorithmes de chiffrement particuliers. Hélas, il n'est pas possible d'apporter une solution spécifique à MSIE pour ces diff --git a/docs/manual/ssl/ssl_howto.xml.fr b/docs/manual/ssl/ssl_howto.xml.fr index 035106e20d4..55500c95e75 100644 --- a/docs/manual/ssl/ssl_howto.xml.fr +++ b/docs/manual/ssl/ssl_howto.xml.fr @@ -1,7 +1,7 @@ - + @@ -42,17 +42,15 @@ manière plus approfondie.

    Votre configuration SSL doit comporter au moins les directives suivantes :

    - - Listen 443 - <VirtualHost *:443>
    - - ServerName www.example.com
    - SSLEngine on
    - SSLCertificateFile /chemin/vers/www.example.com.cert
    - SSLCertificateKeyFile /chemin/vers/www.example.com.key
    -
    - </VirtualHost> -
    + +Listen 443 +<VirtualHost *:443> + ServerName www.example.com + SSLEngine on + SSLCertificateFile /path/to/www.example.com.cert + SSLCertificateKeyFile /path/to/www.example.com.key +</VirtualHost> + @@ -73,9 +71,9 @@ accéder à une URL particulière ? que le chiffrement fort ?

    Les directives suivantes ne permettent que les chiffrements de plus haut niveau :

    - httpd.conf - SSLCipherSuite HIGH:!aNULL:!MD5
    -
    + + SSLCipherSuite HIGH:!aNULL:!MD5 + @@ -84,10 +82,10 @@ que le chiffrement fort ? rapidité (le choix final sera opéré par mod_ssl, dans la mesure ou le client les supporte) :

    - httpd.conf - SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5
    - SSLHonorCipherOrder on -
    + +SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5 +SSLHonorCipherOrder on +
    @@ -103,16 +101,16 @@ accéder à une URL particulière ? mod_ssl peut alors forcer automatiquement une renégociation des paramètres SSL pour parvenir au but recherché. Cette configuration peut se présenter comme suit :

    - - # soyons très tolérant a priori
    - SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
    -
    - <Location /strong/area>
    - # sauf pour https://hostname/strong/area/ et ses sous-répertoires
    - # qui exigent des chiffrements forts
    - SSLCipherSuite HIGH:!aNULL:!MD5
    - </Location> -
    + +# soyons très tolérant a priori +SSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL + +<Location /strong/area> +# sauf pour https://hostname/strong/area/ et ses sous-répertoires +# qui exigent des chiffrements forts +SSLCipherSuite HIGH:!aNULL:!MD5 +</Location> +
    @@ -146,13 +144,13 @@ provenance de l'Internet ? le certificat de votre propre autorité de certification (ca.crt), et d'authentifier les clients à l'aide de ces certificats.

    - httpd.conf - # exige un certificat client signé par le certificat de votre CA
    - # contenu dans ca.crt
    - SSLVerifyClient require
    - SSLVerifyDepth 1
    - SSLCACertificateFile conf/ssl.crt/ca.crt -
    + +# exige un certificat client signé par le certificat de votre CA +# contenu dans ca.crt +SSLVerifyClient require +SSLVerifyDepth 1 +SSLCACertificateFile conf/ssl.crt/ca.crt +
    @@ -165,15 +163,15 @@ mais autoriser quand-même tout client anonyme URL particulière, vous pouvez utiliser les fonctionnalités de reconfiguration de mod_ssl en fonction du répertoire :

    - httpd.conf - SSLVerifyClient none
    - SSLCACertificateFile conf/ssl.crt/ca.crt
    -
    - <Location /secure/area>
    - SSLVerifyClient require
    - SSLVerifyDepth 1
    - </Location>
    -
    + +SSLVerifyClient none +SSLCACertificateFile conf/ssl.crt/ca.crt + +<Location /secure/area> +SSLVerifyClient require +SSLVerifyDepth 1 +</Location> +
    @@ -195,23 +193,23 @@ l'accès au reste du serveur à tous les clients ? de données de mots de passe contenant tous les clients autorisés, comme suit :

    - httpd.conf
    +    
     SSLVerifyClient      none
     <Directory /usr/local/apache2/htdocs/secure/area>
    -
     SSLVerifyClient      require
    -SSLVerifyDepth       5
    -SSLCACertificateFile conf/ssl.crt/ca.crt
    -SSLCACertificatePath conf/ssl.crt
    -SSLOptions           +FakeBasicAuth
    -SSLRequireSSL
    -AuthName             "Snake Oil Authentication"
    -AuthType             Basic
    -AuthBasicProvider    file
    -AuthUserFile         /usr/local/apache2/conf/httpd.passwd
    -Require              valid-user
    -</Directory>
    -
    + SSLVerifyDepth 5 + SSLCACertificateFile conf/ssl.crt/ca.crt + SSLCACertificatePath conf/ssl.crt + SSLOptions +FakeBasicAuth + SSLRequireSSL + AuthName "Snake Oil Authentication" + AuthType Basic + AuthBasicProvider file + AuthUserFile /usr/local/apache2/conf/httpd.passwd + Require valid-user +</Directory> + +

    Le mot de passe utilisé dans cet exemple correspond à la chaîne de caractères "password" chiffrée en DES. Voir la documentation de la @@ -230,10 +228,9 @@ Require valid-user >SSLRequire, comme suit :

    - httpd.conf
    +    
     SSLVerifyClient      none
     <Directory /usr/local/apache2/htdocs/secure/area>
    -
       SSLVerifyClient      require
       SSLVerifyDepth       5
       SSLCACertificateFile conf/ssl.crt/ca.crt
    @@ -242,8 +239,8 @@ SSLVerifyClient      none
       SSLRequireSSL
       SSLRequire       %{SSL_CLIENT_S_DN_O}  eq "Snake Oil, Ltd." \
                    and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"}
    -</Directory>
    -
    +</Directory> +
    @@ -260,52 +257,52 @@ aux clients de l'intranet. doivent se trouver en dehors de votre hôte virtuel HTTPS, afin qu'elles s'appliquent à la fois à HTTP et HTTPS.

    - httpd.conf
    +    
     SSLCACertificateFile conf/ssl.crt/company-ca.crt
     
     <Directory /usr/local/apache2/htdocs>
    -#   En dehors de subarea, seul l'accès depuis l'intranet est autorisé
    -Order                deny,allow
    -Deny                 from all
    -Allow                from 192.168.1.0/24
    +#   En dehors de subarea, seul l'accès depuis l'intranet est
    +#   autorisé
    +    Order                deny,allow
    +    Deny                 from all
    +    Allow                from 192.168.1.0/24
     </Directory>
     
     <Directory /usr/local/apache2/htdocs/subarea>
     #   Dans subarea, tout accès depuis l'intranet est autorisé
    -#   mais depuis l'Internet, seul l'accès par HTTPS + chiffrement fort
    - + Mot de passe
    +#   mais depuis l'Internet, seul l'accès par HTTPS + chiffrement fort + Mot de passe
     #   ou HTTPS + chiffrement fort + certificat client n'est autorisé.
     
     #   Si HTTPS est utilisé, on s'assure que le niveau de chiffrement est fort.
     #   Autorise en plus les certificats clients comme une alternative à
     #   l'authentification basique.
    -SSLVerifyClient      optional
    -SSLVerifyDepth       1
    -SSLOptions           +FakeBasicAuth +StrictRequire
    -SSLRequire           %{SSL_CIPHER_USEKEYSIZE} >= 128
    -
    -#   ON oblige les clients venant d'Internet à utiliser HTTPS
    -RewriteEngine        on
    -RewriteCond          %{REMOTE_ADDR} !^192\.168\.1\.[0-9]+$
    -RewriteCond          %{HTTPS} !=on
    -RewriteRule          . - [F]
    -
    -#   On permet l'accès soit sur les critères réseaux, soit par authentification Basique
    -Satisfy              any
    -
    -#   Contrôle d'accès réseau
    -Order                deny,allow
    -Deny                 from all
    -Allow                192.168.1.0/24
    -
    -#   Configuration de l'authentification HTTP Basique
    -AuthType             basic
    -AuthName             "Protected Intranet Area"
    -AuthBasicProvider    file
    -AuthUserFile         conf/protected.passwd
    -Require              valid-user
    -</Directory>
    -
    + SSLVerifyClient optional + SSLVerifyDepth 1 + SSLOptions +FakeBasicAuth +StrictRequire + SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128 + + # ON oblige les clients venant d'Internet à utiliser HTTPS + RewriteEngine on + RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.[0-9]+$ + RewriteCond %{HTTPS} !=on + RewriteRule . - [F] + + # On permet l'accès soit sur les critères réseaux, soit par authentification Basique + Satisfy any + + # Contrôle d'accès réseau + Order deny,allow + Deny from all + Allow 192.168.1.0/24 + + # Configuration de l'authentification HTTP Basique + AuthType basic + AuthName "Protected Intranet Area" + AuthBasicProvider file + AuthUserFile conf/protected.passwd + Require valid-user +</Directory> +
    diff --git a/docs/manual/suexec.xml.fr b/docs/manual/suexec.xml.fr index a346dba3bf9..6fc87e294d4 100644 --- a/docs/manual/suexec.xml.fr +++ b/docs/manual/suexec.xml.fr @@ -3,7 +3,7 @@ - + - + - +