If there is no remarks, can some one commit the files BTW here are five new translations. These translations are coming from Valery Fremaux :
httpd-docs-1.3/htdocs/manual/dns-caveats.html.fr httpd-docs-1.3/htdocs/manual/custom-error.html.fr httpd-docs-1.3/htdocs/manual/cgi_path.html.fr httpd-docs-1.3/htdocs/manual/mod/directives.html.fr httpd-docs-1.3/htdocs/manual/mod/directives-dict.html.fr ----- Message d'origine ----- De : Herve Dumont À : [EMAIL PROTECTED] Envoyé : dimanche 1 avril 2001 10:37 Objet : New translation httpd-docs-1.3/htdocs/manual/bind.html.fr bind.html should be renamed and bind.html.html created. Herve --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]Title: Apache et le DNS
Apache et le DNSCette page aurait pu être résumée par la phrase : ne demandez pas à Apache d'utiliser le DNS pour la lecture des fichiers de configuration. Si appache doit utiliser le DNS pour récupérer ses fichiers de configuration, alors votre serveur peut être sujet à des problèmes de fiabilité (il peut tout simplement ne pas démarrer), ou s'ouvrir à des attaques et des vols d'information (y compris des utilisateurs qui pourraient "voler" des hits d'autres utilisateurs). Un exemple simpleConsidérez ce court extrait de code de configuration :<VirtualHost www.abc.dom> ServerAdmin [EMAIL PROTECTED] DocumentRoot /www/abc </VirtualHost> Pour qu'Apache fonctionne correctement, il a absolument besoin
d'au moins deux informations pour chaque hôte virtuel : le
Supposons que le doamine <VirtualHost 10.0.0.1> ServerAdmin [EMAIL PROTECTED] DocumentRoot /www/abc </VirtualHost> Apache doit alors effectuer une résolution DNS inverse
pour trouver le nom Voici un extrait qui élimine ces deux problèmes. <VirtualHost 10.0.0.1> ServerName www.abc.dom ServerAdmin [EMAIL PROTECTED] DocumentRoot /www/abc </VirtualHost> Refus de serviceIl existe (au moins) deux situations où Apache refuse
de fournir le service. Si vous exécutez une version
antérieure à la version 1.2 d'Apache, votre serveur
ne démarrera même pas si l'une des deux
résolutions DNS mentionnées ci-avant échoue
pour au moins un hôte virtuel. Dans certain cas, cette
résolution peut ne même pas être sous votre
contrôle. Par exemple, si Une autre situation est beaucoup plus pernicieuse. Considérez cet extrait de code de configuration : <VirtualHost www.abc.dom> ServerAdmin [EMAIL PROTECTED] DocumentRoot /www/abc </VirtualHost> <VirtualHost www.def.dom> ServerAdmin [EMAIL PROTECTED] DocumentRoot /www/def </VirtualHost> Supposez que vous avez assigné 10.0.0.1 au domaine
Les requêtes arrivant pour 10.0.0.1 (y compris toutes
celles où les utilisateurs auront tapé une URL de
la forme L'adresse du "serveur principal"L'addition du support
d'hôtes virtuels basés sur les noms dans Apache
1.1 nécessite qu'Apache connaisse les adresses IP de
l'hôte sur lequel est exécuté httpd. Pour
obtenir cette adresse, il utilise soit le Si vous craignez que cette résolution échoue
parceque votre serveur DNS est arrêté, alors vous
popuvez ajouter le nom d'hôte dans le fichier
Si votre machine n'a pas de résolution DNS à
effectuer pour toute autre raison (par exemple parce qu'elle est
isolée), alors vous pourrez néanmoins faire tourner
Apache en initialisant la variable d'environnement
Astuces pour éviter ces problèmes
Appendice: Directions futuresCette situation vis-à-vis du DNS est largement insatisfaisante. Pour Apache 1.2, nous avons travaillé pour que le serveur puisse continuer à démarrer dans le cas de l'échec d'une résolution DNS, mais il est possible que nous puissions en faire plus. Toute écriture nécessitant l'usage d'adresses IP explicites dans le fichier de configuration n'est pas souhaitable dans le contexte Internet actuel où la rotation d'adresses est une nécessité. Une parade au vol de service serait d'effectuer une résolution DNS inverse sur l'adresse IP renvoyée par la résolution directe, et comparer les deux noms. En cas de non concordance, cet hôte virtuel serait désactivé. Ceci impliquerait que la résolution DNS inverse soit correctement configurée (ce qui reste assez connu des administrateurs du fait de l'usage commun de la résolution inverse double par les serveurs FTP et les transposeurs TCP). Dans tous les cas, il ne semble pas possible de garantir la fiabilité du démarrage d'un serveur web gérant des hôtes virtuels lorsque la résolution DNS a échoué, sauf si la définition de ces hôtes utilise des adresses IP explicites. Une solution partielle consistant à ignorer certaines portions du fichier de configuration serait encore pire que ne pas démarrer du tout, dans certains cas d'exploitation. Par l'extension de l'usage de HTTP/1.1, les navigateurs et
proxies fournissent de plus en plus souvent l'en-tête
|
Messages d'erreur personnalisésButFonctionnalité additionnelle. Permet aux administrateurs Web de personnaliser les réponses données par Apache en cas de problèmes. Les réponses personnalisées définies peuvent être activables lorsque le serveur est à même de détecter la cause du problème. ex. si un script termine en faute, produisant une réponse "500 Server Error", alors cette réponse peut être remplacée soit par un texte quelque peu plus explicatif soit par une redirection vers une autre URL (locale ou externe). Ancien comportementLa version 1.3 d'httpd du NCSA répondait souvent avec des messages d'erreur ennuyeux et peu amènes qui étaient sans signification pour l'utilisateur, et ne donnait pas les symptômes qui pouvaient causer la faute. Nouveau comportementOn pourra désormais demander au serveur :
La redirection vers une autre URL peut être utile, mais seulement si certaines informations peuvent être passées et qui serviront à produire un affichage ou un enregistrement du problème plus clair et explicite. Pour ce faire, Apache définira de nouvelles variables d'environnement ( à la mode CGI), ex.
notez le préfixe Seront au moins passés à la nouvelle URL les variables
Configuration
Redirections et affichage d'erreurs personnaliséesBut
Ancien comportement
Nouveau comportement
Si la directive ErrorDocument spécifie une redirection local vers un script CGI, le script devra inclure un champ "Status:" dans l'en-tête de sa sortie afin de garantir la retransmiison complète vers le client des conditions d'erreurs qui ont causé son invocation. Par exemple un script Perl devrait inclure les lignes suivantes : : print "Content-type: text/html\n"; printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; : Si le script est dédié pour traité une condition d'erreur particulière telle que 404 Not Found, il peut utiliser le code spécifique et le message d'erreur à la place. |
Termes utilisés pour décrire les directives ApacheChaque directive de configuration d'Apache est décrite selon un format de présentation commun ressemblant à ceci :
Chacun des attributs possibles pour les directives, avec toutes leurs valeurs possibles sont décrites dans ce document. Termes employés pour les directivesSyntaxeIndique le format dans laquelle la directive doit être inscrite dans les fichiers de configuration. Cette syntaxe est très spécifique pour chaque directive, et est décrite en détail dans la définition de la directive. Généralement, le nom de la directive est suivi d'un ou de plusieurs arguments. Les arguments optionnels sont entourés de crochets Quand un argument peut prendre plus d'une valeur possible, les valeurs possibles sont séparées par une barre verticale. Les valeurs littérales sont affichée avec la fontes par défaut, tandis qur les type d'arguments pour lesquels une substitution doit être faite sont en italique. Les diretrives pouvant avoir un nombre variable d'arguments se terminent avec "..." indiquant que le dernier argument se répète. DéfautSi la directive a une valeur par défaut (c-à-d., si elle n'apparait pas du tout dans le fichier de configuration, le serveur Apache se comportera comme si cette directive avait été écrite en mentionnant cette valeur), elle est spécifiée ici. Si aucune valeur n'est définie par défaut, cette section précisera "Non précisé". ContexteIndique là ou l'implantation de la directive dans le fichier de configuration est licite. Il est exprimé comme une liste séparée par des virgules, et pouvant contenir les éléments suivants :
Les directives ne sont autorisées que dans les contextes cités ; si vous essayez de les écrire ailleurs, vous provoquerez une erreur de configuration qui soit conduira le serveur à ignorer les requêtes dans le contexte spécifié, soit peut empêcher le serveur de fonctionner -- c-à-d., le serveur refusera de démarrer. Les emplacements valides pour les directives sont le résultat d'un OU booléen de tous les contextes cités. En d'autres termes, une directive marquée comma étant valide dans le contexte "configuration serveur, .htaccess" peut être utilisée dans le fichier httpd.conf et dans les fichiers .htaccess, mais pas dans le container <Directory> ni <VirtualHost>. SurchargeCet attribut de directive précise quelle surcharge doit être permise pour que la directive puisse être interprétée lorsqu'elle apparaît dans un fichier .htaccess. Si le contexte de directive ne permet pas une écriture dans les fichiers .htaccess, cet attribut doit mentionner "Non applicable". Les surcharges sont gérées par la directive AllowOverrides, et ont une portée définie, par exemple un répertoire donné et tous ses descendants, sauf si la configuration de surcharge est changée à un endroit de la descendance par une directive AllowOverrides d'un niveau inférieur. La documentation pour cette directive liste aussi les noms possibles de surcharges disponibles. StatutIndique à quel module du serveur Apache Web la directive est rattachée ; en d'autres termes, vous devrez peut être recompiler le serveur en précisant un ensemble plus large de modules pour pouvoir bénéficier de cette fonctionnalité. Les valeurs possibles pour cet attribut sont :
ModuleDonne simplement le nom du module ou est implémentée cette fonctionnalité. CompatibilitéSi la directive ne faisait pas partie de la version 1 d'Apache, le numéro indique la version dans laquelle elle a été introduite. Si la directive a le même nom qu'une ancienne directive du serveur HTTPd du NCSA, toute différence de comportement y sera mentionnée. Dans les autres cas, cette rubrique affichera "Pas de remarques sur compatiblité." |
Modification de PATH_INFO dans l'environnement CGIVue d'ensembleTelle qu'elle était implémentée dans les versions antérieures à la version 1.1.1 d'Apache (comprise), la méthode utilisée par Apache pour créer la variable PATH_INFO dans l'environnement CGI était loin d'être intuitive, et pouvait conduire à certaines défaillances dans certains cas. A partir de la version 1.2 d'Apache, cette méthode a été modifiée. Bien que ces modifications puissent conduire à certaines incompatibilités avec certaines applications CGI, le comportement d'Apache 1.2 reste toujours compatible avec la spécification CGI/1.1, et les scripts CGI restent facilement modifiables (voir ci-dessous). Le ProblèmeLes versions d'Apache jusqu'à 1.1.1 construisaient les variables d'environnement CGI PATH_INFO et SCRIPT_NAME en inspectant les noms de fichiers, et non les URL. Bien que cette technique conduise à des valeurs correctes dans la plupart des cas, il pouvait arriver que le chemin défini par le système de fichiers soit surchargé par une redéfinition, laquelle conduisait à une mauvaise interprétation lors de la constitution des variables. Par exemple, si la ligne suivante apparaissait dans un fichier de configuration : Alias /cgi-ralph /usr/local/httpd/cgi-bin/user.cgi/ralph Dans ce cas, La SolutionLes versions postérieures à 1.2 d'Apache définissent maintenant les
variables SCRIPT_NAME et PATH_INFO en inspectant directement l'URL, et
en déterminant quelle portion de l'URL est modifiable par le client.
PATH_INFO est initialisé à cette partie modifiable. Pour réexploiter
l'exemple ci-dessus, PATH_INFO prendrait maintenant la valeur
" Toutefois, l'information " Compatibilité avec des serveurs plus anciensIl se peut que certains scripts écrits pour des versions antérieures d'Apache ou pour d'autres serveurs aient besoin d'exploiter les informations données dans l'ancien modèle de variable PATH_INFO. A cet effet, la version 1.2 d'Apache (1.2b3 et postérieures) proposent une variable supplémentaire, appelée FILEPATH_INFO. Cette nouvelle variable d'environnement contient la valeur qui était précédemment inscrite dans PATH_INFO par la version 1.1.1 d'Apache. Un script désirant être compatible avec toutes les versions d'Apache peut simplement tester l'existence de la variable FILEPATH_INFO, et utiliser cette variable si besoin est. Autrement, il récupérera ses informations dans la variable PATH_INFO. Par exemple, en Perl, on pourra écrire : $path_info = $ENV{'FILEPATH_INFO'} || $ENV{'PATH_INFO'}; Par cette écriture, un script fonctionnera avec tous les serveurs conformes à la spécification CGI/1.1, incluant par là même toutes les versions d'Apache. |
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]